AWS负载均衡器下example.com跳转www.example.com保障HTTPS连接问题咨询
修复方案
问题核心是你当前仅www.example.com有有效SSL证书,根域名example.com的跳转逻辑依赖桌面端浏览器自动补全规则,移动端未触发该补全逻辑导致访问失败。
1. 优先方案:更新SSL证书+ALB全局重定向
1.1 替换ACM证书
- 访问AWS Certificate Manager控制台,申请包含
example.com和www.example.com的SAN(主题备用名称)免费证书 - 完成DNS所有权验证后,将新证书绑定到ALB的443监听器,替换原有仅包含
www.example.com的证书
1.2 配置ALB强制跳转规则
进入ALB的监听器配置页,新增两条优先级最高的规则:
- 规则1(匹配根域名访问):
- 匹配条件:
Host header=example.com - 执行动作:301永久重定向到
https://www.example.com/#{path}?#{query} - 配置重定向时保留原路径和查询参数
- 匹配条件:
- 规则2(匹配所有HTTP请求):
- 匹配条件:80端口的所有请求
- 执行动作:301永久重定向到443端口的HTTPS请求,保留原域名、路径和参数
1.3 验证解析配置
确认example.com的A/AAAA记录与www.example.com一致,均指向当前ALB的公网IP或CNAME地址。
2. 备选方案(不修改现有ALB证书)
如果暂时不想更新ALB绑定的证书,可选择以下任意一种方案:
- 配置域名解析商的URL跳转服务:将
example.com的所有访问直接301跳转到https://www.example.com,多数主流域名服务商提供免费的跳转功能 - 新增AWS CloudFront作为接入层:为CloudFront绑定覆盖根域名的ACM证书,在CloudFront边缘层配置根域名到
www.example.com的重定向规则,回源指向原有ALB即可
验证方法
清空移动端浏览器缓存后访问http://example.com和https://example.com,均会自动跳转至带www前缀的HTTPS地址,无证书报错。
也可以用curl命令验证跳转逻辑:curl -I https://example.com
返回结果需包含301 Moved Permanently状态码和Location: https://www.example.com响应头。
内容的提问来源于stack exchange,提问作者dassoop
相关产品推荐
相关产品推荐

