AWS Route53 A记录指向外部IP时ACM证书不可用、SSL证书不受信任问题
问题根因说明
- ACM颁发的证书仅支持绑定到AWS官方托管服务(如应用负载均衡ALB、CloudFront、API Gateway等),无法直接导出安装到外部IP对应的自建Web服务器,这就是你ACM证书状态为
Ineligible(未关联有效AWS资源)、处于未使用状态的核心原因。 - 浏览器报证书不受信任,是因为你当前外部IP的Web服务器上部署的SSL证书与
hello.example.com不匹配、为自签名证书、或者证书链配置不完整导致。
排查解决步骤
你可以根据自己的架构选择以下两种方案之一解决:
方案1:保留外部IP直接对外提供服务(无需使用ACM证书)
这种方案不需要用到你已申请的ACM证书,直接修复自建Web服务器的证书配置即可:
- 先执行以下命令验证当前服务器的证书问题:
查看返回的证书信息,确认SAN字段是否包含openssl s_client -connect hello.example.com:443 -servername hello.example.comhello.example.com、是否为公共可信CA颁发、证书是否在有效期内。 - 如果当前证书不符合要求,可通过Let's Encrypt等公共可信CA免费为
hello.example.com申请证书,将证书、私钥、全链证书部署到你的Web服务器对应配置中,重启Web服务后即可解决浏览器不信任问题。
方案2:使用已申请的ACM证书(需引入AWS托管服务承接流量)
如果要使用你已在ACM申请的证书,需要将流量先转发到支持ACM的AWS服务,再转发到你的外部IP:
子方案2.1:通过CloudFront分发承接流量
- 新建CloudFront分发,源站设置为你的外部IP,备用域名(CNAME)填写
hello.example.com - 绑定你已申请的ACM证书(注意:CloudFront仅支持绑定
us-east-1区域签发的ACM证书,如果你申请证书的区域不是us-east-1需要重新在对应区域申请) - 将Route53中
hello.example.com的A记录从直接指向外部IP,修改为别名指向你新建的CloudFront分发域名 - 修改DNS记录后可通过
nslookup hello.example.com验证解析生效,清理本地DNS缓存后测试访问即可。配置完成后ACM证书会自动更新为已使用状态,浏览器访问时会返回可信的ACM证书。
子方案2.2:通过应用负载均衡ALB承接流量
- 在你业务对应的AWS区域创建公网ALB,添加HTTPS监听,绑定你同区域已申请的ACM证书
- 配置ALB的后端目标组为IP类型,填写你的外部IP作为后端转发目标,可根据需求配置是否跳过后端证书校验
- 将Route53中
hello.example.com的A记录修改为别名指向你新建的ALB域名,等待DNS解析生效后即可正常访问。
内容的提问来源于stack exchange,提问作者memoricab
相关产品推荐
相关产品推荐

