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

Cloudfront domain name not working to redirect HTTP to HTTPS using S3, Cloudfront, and Route 53

这里是第一个 post - 各位 Whosebugers 你好:)

网站问题。 在 Google 上购买域名,托管在 S3 上。使用路由 53 重定向请求。 在 S3、example.com 和 www.example.com 中创建了 2 public 个存储桶(example.com 重定向到 www)
网站工作 - 是的!现在让我们得到它 https
通过 route 53 DNS 确认获得 *.example.com 的 SSL 亚马逊证书。 将其上传到我的云端发行版(并在参数中确保 http 重定向到 https)。
按照这篇文章 ( ),我现在需要将请求从路由 53 重定向到 Cloudfront 域名。

但是 Cloudfront domain name 给出了一条错误消息(见下文)。它从哪里来? (我理解这应该是 https 网站 link 不是吗?) error message

仅供参考,不要使用 EC2 实例。我知道还有另一种通过 Namecheap 等提供商获取 SSL 的方法 - 但它似乎要复杂得多(与亚马逊免费提供的服务相比)。

可能您的 CloudFront 来源指向了错误的端点。不要从源列表中选择自动建议的存储桶,而是明确复制 "Static website hosting" 下 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. 为存储桶启用 "Static website hosting"。注意显示的端点。
  6. 创建 CloudFront 分配,将您的域名添加为备用域名,从列表中选择在 2. 中创建的证书,添加在 5. 中记录的端点作为来源。
  7. 更新 Route 53 配置以添加 A(和 AAAA)别名 记录,指向 CloudFront 分配,您可以从自动建议的列表中选择它。
  8. 等到一切都部署好。

尤其是您想要创建的证书,因为这允许它自动续订,您不必担心。 CloudFront 只能自动使用在 US-East-1 区域创建的证书,在其他地方创建证书意味着您需要手动 down/upload 它们,并且在它们每次过期时都这样做。