我正在尝试将Cloudfront用于具有自定义域的静态网站s3。 以下是我遵循的步骤:
1)设置一个s3存储桶(例如example.com
),并在其上启用了静态网站托管。
2)还要设置一个s3存储桶(www.example.com
),该存储桶将重定向到example.com
。
3)在路线53中,添加了一个托管区域(example.com)并添加了记录集。
4)之后,http://example.com为我工作。
现在,我正在尝试向其添加cloudfront。我添加了以下步骤:
5)在Amazon Certificate Manager中,为www.example.com
添加了一个证书,并对其进行了验证(添加到Route 53 DNS中,它在一段时间后被自动验证)。
6)使用以下设置创建了一个云端分布:
Domain Origin: www.example.com
Origin Protocol Policy: HTTP Only
Alternate Domain Name: www.example.com
SSL Certificate: Selected from ACM
当我尝试启动https://example.com
或https://www.example.com
时,该网站无法加载。 http://example.com
确实已加载,但是我不确定cloudfront是否正在实际进行此操作。还有为什么不加载https?
答案 0 :(得分:1)
您需要进入rt 53,然后将域指向您的Cloudfront发行版。除非您在发布设置中将域设置为备用域,否则它不会显示为选项。此外,该证书仅对www.example.com无效,这意味着example.com被排除在外。您需要一个包含example.com和www.example.com(或* .example.com才能覆盖所有子域)的证书
答案 1 :(得分:1)
要使用SSL设置CF分发后面的S3存储桶,您需要:
example.com
(阻止所有公共访问=关闭,策略https://d.pr/i/KU1Q4z)example.com
和*.example.com
(或随意指定的子域)颁发的ACM中创建证书,进行验证example.com
*.example.com
(此处为其他子域)example.com.s3-website-AWS_REGION.amazonaws.com
,将默认起源创建/更改为HTTP Only
example.com
设置CF A ALIAS,为*.example.com
(或其他子域)设置CNAME指向CF_DISTRIBUTION_ID.cloudfront.net