AWS ECS报Failed to determine the https port for redirect错误排查
问题解答
关于launchSettings.json中双SSL端口是否引发ECS上的HTTPS端口歧义异常
launchSettings.json是仅用于本地开发调试的配置文件,AWS ECS部署时不会读取该文件,所以你本地项目里的两个SSL端口(44301和7005)差异,不会直接导致ECS环境中出现「Failed to determine the https port for redirect」错误。
ECS上的这个错误,本质是ASP.NET Core中间件在运行时无法确定正确的HTTPS重定向目标端口,常见原因包括:
- 容器端口与ECS服务/负载均衡器的端口映射配置不匹配
- 未正确配置
ForwardedHeaders中间件,导致应用无法识别负载均衡器传递的HTTPS端口信息 - 环境变量(如
ASPNETCORE_HTTPS_PORT、ASPNETCORE_URLS)存在冲突或未正确设置
关于sslPort与applicationUrl端口是否必须一致
在本地开发场景下:
sslPort是Visual Studio调试器用来附加到应用的端口,applicationUrl是应用实际监听的端口,两者不需要强制一致,VS会自动处理调试时的端口映射逻辑。- 你看到的两个不同端口,是VS默认生成的配置,一个是IIS Express的SSL端口,另一个是Kestrel的SSL端口,属于正常的本地调试配置。
在生产部署场景下:
- 不存在
sslPort配置(launchSettings.json不生效),只需确保applicationUrl(或环境变量ASPNETCORE_URLS)中配置的端口,与ECS容器的端口映射、负载均衡器的转发端口保持一致即可。
内容的提问来源于stack exchange,提问作者joym8
相关产品推荐
相关产品推荐

