“502 错误网关”- 从 AWS Lambda 向 Application Load Balancer 提供的静态页面限制为 1MB

"502 bad gateway" - 1MB limit static page served from AWS Lambda to Application Load Balancer

访问由 Lambda 服务的 ALB 上托管的静态网页时,我们收到 502 错误网关错误。在 ALB 日志中,我们可以看到错误是我们的 Lambda 响应大于 1MB。我们想继续为我们的网页使用 Application Load Balancer,并且需要找到绕过这个 1MB 限制的方法(我们可以部署我们的代码,使 Lambda returns 多个单独的 <1MB JS 代码块吗?)

我们在线查看了其他 SO 问题,发现只有几个人 运行 关注我们的问题,但没有提供解决方案。 AWS 文档记录了此限制,但同样没有提供解决方案。

can we deploy our code such that the Lambda returns multiple separate <1MB chunks of JS code?

有点。

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

例如,在路径“/”上响应的 Lambda 可以 return 引用路径“/load”中的脚本的响应,其中不同的 Lambda return 是特定于该脚本的响应路径。

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

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

我们最终决定关闭 ALB 并移至 API 网关。 API 网关可以处理来自 Lambda 的 6MB return,所以这对我们的目的来说应该没问题。