AWS ALB能否将HTTPS重定向到HTTP?HTTPS健康检查失败如何解决
问题根因
你当前HTTPS健康检查失败的核心原因是:IIS 8.5的8000端口仅绑定了HTTP协议,未配置对应HTTPS绑定和SSL证书。负载均衡器发送HTTPS协议请求到8000端口时,IIS无法完成HTTPS握手,直接返回错误,健康检查自然失败。你配置的HTTP跳转HTTPS重写规则仅作用于HTTP协议请求,不会处理发到8000端口的HTTPS请求,因此无法解决健康检查问题。
方案可行性确认
你提到的「HTTPS目标组重定向到HTTP目标组」方案完全可行,无需修改EC2侧现有8000端口的绑定配置,也不需要额外开通其他端口,完全符合客户要求。
核心逻辑为:负载均衡器侧负责处理用户侧的HTTPS请求加解密,后端与EC2的交互全程走HTTP协议,匹配你现有IIS的8000端口HTTP绑定配置。
具体配置步骤(以AWS应用负载均衡ALB为例)
方案A:修改现有HTTPS目标组配置(操作最简,无需新建目标组)
- 进入AWS EC2控制台,打开目标组页面,找到当前关联EC2实例的HTTPS目标组
- 切换到健康检查标签页,点击编辑按钮:
- 健康检查协议选择
HTTP - 端口填写
8000 - 健康检查路径保留原有配置(如根路径
/或自定义的健康检查接口路径) - 保存配置,等待1-2分钟健康检查即可恢复正常
- 健康检查协议选择
- 再确认目标组的后端转发配置:
- 后端协议设为
HTTP,端口设为8000,确保ALB转发到EC2的请求是HTTP协议,匹配IIS绑定规则
- 后端协议设为
- ALB侧的HTTPS监听器无需修改,保留原有HTTPS协议和SSL证书配置即可,用户侧访问全程为HTTPS,不会受影响
方案B:HTTPS监听器转发到HTTP目标组(即你提出的原方案)
- 新建一个HTTP协议的目标组:
- 协议选
HTTP,端口填8000 - 将你的EC2实例加入该目标组
- 配置该目标组的健康检查:协议
HTTP、端口8000、路径填对应健康检查地址,确认健康检查状态为正常
- 协议选
- 进入ALB的HTTPS监听器配置页面,点击编辑规则
- 将默认转发规则的目标从原HTTPS目标组修改为新建的HTTP目标组,保存配置
- 配置生效后可删除原无用的HTTPS目标组,用户HTTPS访问、健康检查均会恢复正常
注意事项
- 现有IIS的HTTP跳HTTPS重写规则无需修改,ALB转发到EC2的HTTP请求会正常触发重定向,用户侧不会感知到后端的HTTP交互
- 无需在IIS的8000端口绑定HTTPS证书,也不需要额外开放其他端口,完全符合客户要求
内容的提问来源于stack exchange,提问作者Eashan
相关产品推荐
相关产品推荐

