Cloudfront域名无法使用S3,Cloudfront和Route 53将HTTP重定向到HTTPS

时间:2019-10-03 13:05:37

标签: css ssl amazon-s3 amazon-cloudfront bucket

这里第一篇文章-你好,stackoverflowers :)

网站问题。 在Google上购买了域名,托管在S3上。使用路由53重定向请求。 在S3,example.com和www.example.com(将example.com重定向到www)中创建了2个公共存储桶
网站工作-是的!现在让我们来获取它https:// b>
通过路由53 DNS确认获得* .example.com的SSL亚马逊证书。 将其上传到我的Cloudfront发行版(并在参数中确保http重定向到https)。
在本文(How to redirect HTTP to HTTPS using S3, Cloudfront, and Route 53 using naked domains?之后,我现在需要将请求从路由53重定向到Cloudfront域名。

但是Cloudfront domain name给出了一条错误消息(请参阅下文)。它从哪里来? (我知道这应该是https网站链接吗?) error message

FYII不使用EC2实例。我知道还有另一种通过诸如Namecheap之类的提供程序来获取SSL的方法-但它看起来要复杂得多(与Amazon免费提供)相比。

1 个答案:

答案 0 :(得分:0)

您的CloudFront起源可能指向错误的端点。不要从来源列表中选择自动建议的存储桶,而是在“静态网站托管”下显式复制S3存储桶中显示的端点,其外观应类似于example.com.s3-website-us-east-1.amazonaws.com。否则,您将指向S3存储桶HTTP接口,而不是网站主机。

只需确保整个过程基本上是:

  1. 首先在Route 53中设置域区域,以便下一步使用。
  2. 在地区US-East-1(弗吉尼亚北部,很重要!)中,在证书管理器中为域创建证书请求。使用DNS验证,然后让AWS将所需的记录自动插入到您在1中创建的Route 53配置中。
  3. 创建S3存储桶。
  4. 明确设置一个custom bucket policy to allow anonymous access
  5. 为存储桶启用“静态网站托管”。注意显示的端点。
  6. 创建CloudFront分配,将您的域名添加为“备用域名”,从列表中选择2.中创建的证书,然后将5.中指出的端点添加为来源。
  7. 更新Route 53配置以添加A(和AAAA)别名记录,指向CloudFront分布,您可以从自动建议的列表中进行选择。
  8. 等到一切部署完毕。

特别是您要按所述创建证书,因为它可以自动更新证书,您不必担心。 CloudFront只能自动使用在US-East-1区域中创建的证书,在其他位置创建您的证书意味着您需要手动下载/上传证书,并在证书每次过期时进行操作。