You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置AWS ALB将HTTP重定向到HTTPS(ECS Docker服务)遇阻求助

问题排查与解决方案

核心问题梳理

  • 基于NGINX的Flask镜像在AWS ECS上可通过任务IP正常访问HTTP/HTTPS,但配置ALB、ACM、Route53后,demo.mydomain.net无法正常访问:输入域名会被错误重定向到https://demo.mydomain.com(后缀从.net变为.com),后续请求被取消;ALB的DNS地址仅能通过HTTP访问,HTTPS无法使用。

关键排查与修复步骤

1. 域名解析配置校验

  • 检查Route53中demo.mydomain.net的记录:仅保留指向ALB双栈域名(dualstack.my-domain-82823732.us-west-2.elb.amazonaws.com)的A别名记录,删除所有冲突的CNAME记录。
  • 用nslookup demo.mydomain.net或dig demo.mydomain.net验证解析结果,确认返回的IP是ALB的公网IP,无指向demo.mydomain.com的错误解析。

2. ALB监听器规则修正

  • 80端口监听器:设置为重定向到443端口,重定向规则的主机字段必须使用变量#{host}(保留原请求域名),禁止硬编码为demo.mydomain.com——这是导致域名跳转错误的核心原因。
  • 443端口监听器:
    • 绑定ACM中覆盖demo.mydomain.net的有效证书(证书必须与ALB同属us-west-2区域)。
    • 监听器动作为转发到目标组,目标组协议设为HTTP(ALB到容器建议用HTTP,容器内部自行处理HTTPS)。

3. 目标组与ECS关联检查

  • 目标组健康检查配置:路径设置为Flask应用的健康检查端点(如/health),协议为HTTP,端口匹配容器暴露的端口(如80或443)。
  • 确认ECS服务已正确关联目标组,且目标组内ECS任务的状态为健康——若任务不健康,ALB会拒绝转发流量。
  • 安全组配置:
    • ALB安全组允许80/443端口的公网入站流量。
    • ECS任务安全组允许来自ALB安全组的80/443端口入站流量。

4. NGINX容器配置排查

  • 检查NGINX配置文件,删除任何强制重定向到demo.mydomain.com的规则,避免容器内部规则覆盖ALB的重定向设置。
  • 确认NGINX监听端口与目标组配置的端口一致,容器已正确暴露该端口。

5. ALB日志分析

  • 开启ALB访问日志(存储到S3),查看请求日志:
    • 验证重定向请求的目标域名是否正确,是否存在错误的Host头传递。
    • 排查443端口请求是否存在证书错误或转发失败记录。

快速验证流程

  1. 清理Route53中demo.mydomain.net的冗余记录,仅保留正确的A别名记录。
  2. 修改ALB 80端口重定向规则,将主机字段设为#{host}。
  3. 确认ACM证书覆盖demo.mydomain.net且区域匹配。
  4. 检查目标组健康状态,确保ECS任务处于健康状态。

内容的提问来源于stack exchange,提问作者Calamari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 16:58:16