为什么为 AspNetCore Lambda 函数配置的 AWS ALB 在重定向后给出 502?

Why does an AWS ALB configured for a AspNetCore Lambda function give a 502 after when redirected?

我有基于 aws-lambda-dotnet 的 AspNetCoreWebApp 模板的项目设置。

lambda 入口点的设置与 template 相同。

我可以很好地看到不安全的页面,但是在尝试转到安全页面时,我从负载平衡器收到 502 状态代码响应。

基于aws troubleshooting

The target response is malformed or contains HTTP headers that are not valid.

lambda 函数重定向在其前面的 API 网关下工作正常。

别忘了阅读 Readme:

Change the base class to Amazon.Lambda.AspNetCoreServer.ApplicationLoadBalancerFunction when using an Application Load Balancer.

尽管 Lambda 函数似乎可以使用 APIGatewayProxyFunction 基础 class,但 Content-Type 的 headers 将在重定向期间返回为 [null] ALB 似乎不支持。将 LambdaEntryPoint 的基础 class 更改为 ApplicationLoadBalancerFunction,重定向将正常工作。