AWS负载均衡器中子域名HTTPS访问问题排查求助
预发布环境HTTPS访问故障排查
问题现象
在AWS上为预发布环境创建子域名staging.mysite.co后,出现以下异常:
- 浏览器无法访问
https://staging.mysite.co,但可正常访问http://staging.mysite.co,不过页面所有资源因要求HTTPS无法加载 - 同一负载均衡器和Route 53配置下的生产环境(
mysite.co、www.mysite.co)HTTPS访问完全正常
现有配置详情
Route 53
- 3条A记录:
mysite.co、www.mysite.co指向生产Elastic Beanstalk环境;staging.mysite.co指向预发布Elastic Beanstalk环境 - 已持有覆盖
mysite.co和www.mysite.co的ACM证书,新创建*.mysite.co通配符ACM证书
负载均衡器
- 已配置80/HTTP和443/HTTPS监听端口
- 443监听器规则:匹配Host Header为
staging.mysite.co时路由到预发布目标组,默认路由到生产目标组 - 监听器默认证书为
mysite.co/www.mysite.co证书,同时添加了SNI证书*.mysite.co
已执行的排查操作
- DNS解析测试:对
mysite.co、www.mysite.co、staging.mysite.co执行dig测试,结果无异常(示例dig输出如下):
; <<>> DiG 9.10.6 <<>> https://www.-------.co ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 13597 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;https://www.------.co. IN A ;; AUTHORITY SECTION: ------.co. 900 IN SOA ns-1960.awsdns-53.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400 ;; Query time: 50 msec ;; SERVER: 192.168.86.1#53(192.168.86.1) ;; WHEN: Thu Dec 14 16:57:17 PST 2023 ;; MSG SIZE rcvd: 135
- SSL测试:通过SSLLabs测试发现证书匹配异常
- 负载均衡器日志分析:配置S3存储桶捕获日志,发现
UnmappedConnectionError错误片段:
2023-12-15T01:16:16.711764Z 98.210.29.111 54026 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.103 "-" - - Success 2023-12-15T01:19:33.796535Z 66.160.133.230 43039 443 TLSv1.1 ECDHE-RSA-AES128-SHA - "-" - - Failed:UnmappedConnectionError
核心疑问
- 负载均衡器443监听器是否未正确调用
*.mysite.co证书? *.mysite.co与mysite.co/www.mysite.co证书是否存在冲突?
补充:已修复目标组健康检查问题,当前两个目标组均处于健康状态,但HTTPS访问故障仍未解决。
故障排查与修复建议
1. 验证SNI证书配置有效性
AWS负载均衡器通过SNI机制匹配对应证书,需确认:
- 登录AWS控制台,进入负载均衡器的443监听器配置页,检查
*.mysite.co证书是否已正确添加到SNI证书列表,且状态为已颁发 - 确保证书与负载均衡器处于同一AWS区域(ACM证书不支持跨区域直接使用,跨场景需通过CloudFront或证书复制解决)
2. 测试证书匹配逻辑
使用openssl命令验证客户端请求staging.mysite.co时返回的证书是否正确:
openssl s_client -connect staging.mysite.co:443 -servername staging.mysite.co
若返回的是mysite.co/www.mysite.co证书,说明SNI证书未生效,需重新检查监听器的SNI配置。
3. 排查证书冲突与优先级
两个证书不存在本质冲突,但需注意:
- 通配符证书
*.mysite.co不覆盖根域名mysite.co,因此生产环境的根域名证书不受影响 - 若客户端不支持SNI(老旧浏览器或设备),会默认使用监听器的默认证书,此时访问
staging.mysite.co会出现证书不匹配错误,但现代浏览器均支持SNI,需确认测试客户端的兼容性
4. 解决UnmappedConnectionError错误
该错误通常表示负载均衡器收到未映射到有效监听器的连接,需排查:
- 负载均衡器安全组是否允许443端口的入站流量
- 443监听器的协议是否配置为HTTPS,而非HTTP
- 目标组的端口配置是否与监听器转发规则匹配(例如监听器443是否正确转发到目标组的80或443端口)
5. 确认Route 53记录指向
确保staging.mysite.co的A记录指向负载均衡器的DNS名称,而非直接指向Elastic Beanstalk环境的IP(Elastic Beanstalk环境IP可能动态变化,正确做法是通过负载均衡器转发流量)
内容的提问来源于stack exchange,提问作者Ian Sweeney
相关产品推荐
相关产品推荐

