如何在AWS中为自己的S3托管站点添加SSL/TSL证书(https)
概要
利用AWS的S3服务托管静态网站后,如何将自己的域名与该站点绑定,并为此域名提供SSL/TSL证书(https)。
面向人群
- 已经掌握如何利用S3服务托管静态网站。
- 已经拥有自己的域名。
- 希望为自己的域名添加安全证书,可以通过https访问自己的静态网站。
实施步骤
- 在AWS Certificate Manager(ACM)申请证书。
为自己的域名申请证书。比如www.example.com。
注意,必须在“美国东部(弗吉尼亚北部)”区域申请。否则在CloudFront中无法使用。 - 在AWS CloudFront Manager(CF)建立分发(Distributions)。
delivery method选择Web。
Origin Domain Name选择托管成静态网站的S3存储桶。
在Distribution Settings节中做以下设定:
* Alternate Domain Names(CNAMEs)里面填写要进行关联的域名,比如www.example.com。
* SSL Certificate选择Custom SSL Certificate,然后在下拉框中选择之前在ACM申请的证书。
其他设置项默认即可。
点击Create Distribution。需要一段时间才能完成配置,等待Status变成Deployed。
这时可以看到Domain Name列下面有一个xxxxx.cloudfront.net,这个地址下一步会用到。 - 去自己的域名托管商的管理页面,进行DNS设定。
添加一个CNAME,将自己的域名比如www.example.com的目标设置成第3步记下来的xxxxx.cloudfront.net。
需要一点时间让所有设置生效。 - 之后,可以通过http://www.example.com访问网站。
如果使用https://www.example.com则会看到浏览器的地址栏前面出现了一个小锁头啦。
要点
- ACM必须在“美国东部(弗吉尼亚北部)”区域申请。
- CloudFront的CNAMEs中要将自己的域名添加进去。
- 域名托管商的CNAME中要指向CloudFront的地址。