AWS SSL证书无法在负载均衡器生效问题求助
问题解决:ELB HTTPS连接不安全及域名访问异常
核心问题梳理
- ELB默认域名HTTPS不安全:你的ACM证书仅针对
godaddydomain.com签发,而myapp.us-east-1.elb.amazonaws.com是AWS提供的ELB默认域名,证书域名与访问域名不匹配,浏览器必然提示不安全。这是正常逻辑,你无需访问ELB默认域名,应使用自己的域名访问。 - 证书覆盖范围不足:证书仅包含
godaddydomain.com,未覆盖www.godaddydomain.com,导致www子域名的HTTPS连接因证书不匹配显示不安全。 - DNS配置错误:DNS中不存在“HTTPS记录”类型,根域名错误的记录配置导致解析失败,无法访问;同时根域名无法直接设置CNAME(DNS规范限制),需用特殊方式配置。
- ELB监听器转发逻辑错误:你将HTTPS监听器转发至ELB自身的HTTP域名,形成请求循环,无法到达后端服务,这是根域名无法访问的关键原因之一。
分步修复方案
1. 补全ACM证书覆盖范围
- 登录AWS ACM控制台,重新申请证书:
- 选择SAN证书,添加域名
godaddydomain.com和www.godaddydomain.com;或直接申请通配符证书*.godaddydomain.com(覆盖所有子域名)。 - 完成邮件验证,确保证书状态为「已签发」,且与ELB处于同一AWS区域。
- 选择SAN证书,添加域名
2. 修正ELB监听器转发配置
- 登录AWS EC2控制台,找到目标负载均衡器,进入「监听器」页面:
- 删除当前的HTTPS:443监听器,或修改转发目标:
- 转发目标必须是你的后端服务所在的目标组(如EC2实例、ECS服务的目标组),而非ELB自身的域名。
- 目标组协议设为HTTP(ELB已处理HTTPS加密,后端无需再处理),端口匹配后端服务的监听端口(通常为80)。
- 删除当前的HTTPS:443监听器,或修改转发目标:
3. 修正GoDaddy DNS配置
根域名(godaddydomain.com)
删除错误的「HTTPS记录」,选择以下任一合法配置:
- 方案一:CNAME Flattening(推荐,若GoDaddy支持):添加CNAME记录,主机名填
@(代表根域名),指向myapp.us-east-1.elb.amazonaws.com,开启CNAME Flattening功能(可在GoDaddy DNS设置中找到)。 - 方案二:域名转发:在GoDaddy域名管理中设置「转发」,将
godaddydomain.com转发至https://www.godaddydomain.com,开启「转发时隐藏原域名」。 - 方案三:迁移DNS到AWS Route53:将域名的DNS服务器改为Route53提供的服务器,然后在Route53中添加别名记录,主机名
@,直接指向你的ELB(自动适配ELB动态IP,避免解析失效)。
www子域名(www.godaddydomain.com)
保留现有CNAME记录:主机名www,指向myapp.us-east-1.elb.amazonaws.com,无需修改。
4. 验证配置生效
- 等待DNS生效(TTL设为1小时,最多1小时即可完成全球解析同步,无需等48小时)。
- 使用
nslookup godaddydomain.com和nslookup www.godaddydomain.com验证解析是否正确指向ELB域名。 - 访问
https://godaddydomain.com和https://www.godaddydomain.com,检查浏览器地址栏是否显示安全锁,证书信息是否匹配你的域名。
内容的提问来源于stack exchange,提问作者anda.panda
相关产品推荐
相关产品推荐

