AWS ACM证书已签发但GoDaddy域名站点HTTPS无法生效求助
问题原因及解决办法
为啥HTTPS用不了?
S3静态网站的原生访问端点(就是你现在CNAME指向的http://www.example.com.s3-website-us-west-2.amazonaws.com/)只支持HTTP,根本不提供HTTPS加密功能。哪怕你手里有ACM证书,也没法直接把证书绑到这个S3端点上——S3静态托管本身就没这个能力,这就是问题的核心。
怎么搞定HTTPS?
必须通过CloudFront做中间层来提供SSL支持,步骤如下:
- 建CloudFront分发:
源地址选你的S3静态网站端点(别直接选S3桶,要选那个带-website-的HTTP地址);缓存行为里开启HTTPS,最好设置成“HTTP自动跳转到HTTPS”。 - 绑ACM证书:
注意!CloudFront只认us-east-1(弗吉尼亚北部)区域申请的ACM证书——哪怕你的S3在us-west-2,证书也得在us-east-1申请;在CloudFront分发的“自定义SSL证书”选项里,选择你已签发的覆盖example.com和www.example.com的证书。 - 改DNS记录:
在GoDaddy里把www.example.com的CNAME从S3端点改成CloudFront的分发域名(比如d123456abcdef.cloudfront.net);example.com的转发设置保持指向www.example.com即可。
额外提醒
- CloudFront部署需要10-15分钟,DNS生效也需要时间,别着急立刻测试
- 如果你的ACM证书不是在us-east-1申请的,要么重新在该区域申请验证,要么用AWS的证书复制功能把现有证书复制到us-east-1区域
内容的提问来源于stack exchange,提问作者Hunter
相关产品推荐
相关产品推荐

