"502 bad gateway" - 从 AWS Lambda 向应用程序负载均衡器提供的静态页面限制为 1MB



访问托管在 Lambda 服务的 ALB 上的静态网页时,我们收到 502 错误网关错误。在 ALB 日志中,我们可以看到错误是我们的 Lambda 响应大于 1MB。我们希望继续为我们的网页使用应用程序负载均衡器,并且需要找到一些绕过这个 1MB 限制的方法(我们是否可以部署我们的代码,以便 Lambda 返回多个单独的 <1MB 的 JS 代码块?

我们在网上查看了其他 SO 问题,发现只有几个人遇到了我们的问题,但没有提供解决方案。AWS 文档记录了此限制,但同样没有提供任何解决方案。

我们最终决定关闭 ALB 并迁移到 API 网关。API 网关可以处理来自 Lambda 的 6MB 返回,因此这对于我们的目的来说应该没问题。

我们是否可以部署我们的代码,以便 Lambda 返回多个单独的 <1MB的JS代码块?

有点。

您可以将主页链接到 html 或 js 在 ALB 上的不同路径下引用,并由不同的 Lambda 提供。

例如,在路径"/"上响应的 Lambda 可能会返回引用路径"/load"中的脚本的响应,其中不同的 Lambda 返回特定于该路径的响应。

您也可以在主页中有一个脚本,该脚本指向要在主页上显示的另一个 html 文档。这甚至可以递归完成,例如,"/"引用"/one"引用"/two"等。

根据原始页面的大小,此策略可能会很快变得复杂。

最新更新