如何配置Application ELB实现HTTP到HTTPS的请求转发?
如何在AWS Application ELB上实现HTTP到HTTPS的自动转发
嘿,这个问题其实挺常见的,而且完全不需要额外部署容器或者换用Network ELB——Application Load Balancer本身就支持直接把HTTP请求重定向到HTTPS,只是你可能没找对配置入口。下面是具体的操作步骤,跟着来就行:
第一步:确认HTTPS监听已配置完成
你已经提到已经设置了443端口的监听,这一步可以直接跳过,但要确认这个监听已经关联了正确的ECS目标组,并且SSL证书(比如AWS Certificate Manager里的证书)已经绑定好,确保HTTPS访问本身是正常的。第二步:修改HTTP(80端口)的监听规则
- 打开AWS控制台的EC2服务,找到你的Application Load Balancer,切换到「监听」标签页。
- 找到80端口的那条监听,点击右侧的「查看/编辑规则」。
- 这里你可能之前设置了默认转发到实例的规则,没关系,点击「添加规则」或者直接编辑现有规则:
- 在「条件」区域,保持默认的「路径匹配为*」就好,这样能覆盖所有HTTP请求。
- 在「操作」区域,不要选「转发到」,而是选择「重定向到」:
- 目标协议选「HTTPS」
- 目标端口填「443」
- 重定向类型推荐选「301(永久重定向)」,对SEO更友好;如果只是临时测试可以用302。
- 其他选项比如保留原有主机头、路径、查询字符串都保持默认就行,最后点击保存规则。
第三步:验证配置效果
配置好之后,用浏览器访问你的ELB的HTTP地址(比如http://your-elb-dns-name),应该会自动跳转到对应的HTTPS地址,并且能正常访问你的ECS服务。
要是之前你在80端口的监听里只能看到「转发到」的选项,那是因为初始创建监听时直接关联了目标组,但修改规则的时候完全可以把操作换成重定向,不需要删除重建监听。
另外再提一句:确保443端口的监听已经正确关联到你的ECS目标组,这样重定向后的HTTPS请求才能顺利转发到你的容器实例上。
内容的提问来源于stack exchange,提问作者EsseTi




