AWS Cloudfront不适用于自定义域

时间:2019-06-06 17:30:49

标签: amazon-web-services

我正在尝试将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.comhttps://www.example.com时,该网站无法加载。 http://example.com确实已加载,但是我不确定cloudfront是否正在实际进行此操作。还有为什么不加载https?

2 个答案:

答案 0 :(得分:1)

您需要进入rt 53,然后将域指向您的Cloudfront发行版。除非您在发布设置中将域设置为备用域,否则它不会显示为选项。此外,该证书仅对www.example.com无效,这意味着example.com被排除在外。您需要一个包含example.com和www.example.com(或* .example.com才能覆盖所有子域)的证书

答案 1 :(得分:1)

要使用SSL设置CF分发后面的S3存储桶,您需要:

  1. 设置S3存储桶example.com(阻止所有公共访问=关闭,策略https://d.pr/i/KU1Q4z
  2. example.com*.example.com(或随意指定的子域)颁发的ACM中创建证书,进行验证
  3. 创建CF分配
  4. 将创建的CF备用域名设置为:example.com *.example.com(此处为其他子域)
  5. 使用自定义SSL证书(先前已创建和验证)
  6. 使用起源协议策略example.com.s3-website-AWS_REGION.amazonaws.com,将默认起源创建/更改为HTTP Only
  7. CF默认来源行为应更像这样:https://d.pr/i/h6PrG6
  8. 在Route 53中,为example.com设置CF A ALIAS,为*.example.com(或其他子域)设置CNAME指向CF_DISTRIBUTION_ID.cloudfront.net