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

Elastic Beanstalk配置Application Load Balancer后无法将HTTP重定向到HTTPS

故障排查步骤

1. 确认Elastic Beanstalk层面的ALB配置是否正确

Elastic Beanstalk会自动管理关联的ALB配置,如果你直接在EC2控制台修改了监听器/规则,后续EB环境更新、重新部署时会覆盖你的自定义配置,导致跳转失效。请统一在EB控制台的「配置」-「负载均衡」菜单下配置规则:

  • 确保80端口(HTTP)监听器的动作为重定向,目标端口为443,响应码选择301(永久重定向)或302(临时重定向),同时勾选保留原请求的主机名、路径、查询参数。
  • 配置完成后等待EB环境完成更新,再验证跳转是否生效。

2. 验证ALB监听器实际规则

如果确认EB层面配置正确,可到EC2控制台查看当前ALB的80端口监听器规则:

  • 确认默认规则没有被更高优先级的规则覆盖,导致部分/全部请求被转发到后端Tomcat目标组,而不是触发重定向动作。
  • 确认重定向规则的协议为HTTPS,端口为443,没有配置错误的跳转目标。

3. 排查域名解析问题

确认当前app.example.com的DNS解析确实指向该故障环境的ALB地址,没有解析到其他未配置跳转的实例/负载均衡上。可通过ping app.example.com或者nslookup app.example.com命令核对返回的IP是否和你的ALB公网IP一致。

4. 排查反向代理/应用层面的配置冲突

如果你的跳转逻辑是配置在后端Tomcat/代理层,而非ALB层面,需要额外核对以下配置:

  • 检查EB环境的代理配置,有没有自定义的.ebextensions配置文件覆盖了默认的X-Forwarded-Proto判断逻辑,导致应用没有正确识别ALB层的协议。
  • 确认Tomcat的server.xml中已经配置了RemoteIpValve来正确识别ALB传递的X-Forwarded-Proto头,否则应用会认为所有请求都是HTTP,不会触发跳转,示例配置如下:
<Valve className="org.apache.catalina.valves.RemoteIpValve"
       remoteIpHeader="x-forwarded-for"
       protocolHeader="x-forwarded-proto"
       protocolHeaderHttpsValue="https"/>
  • 检查应用代码中有没有强制HTTP访问的路由配置,干扰了跳转逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:06:01