Heroku SSL 使用 AWS Route 53 和 Cloudfront 重定向到 www.example.com

Heroku SSL 使用 AWS Route 53 和 Cloudfront 重定向到 www.example.com

现在的情况

example.com==examplecom等等,因为垃圾邮件

我在 GoDaddy 上有一个域名examplecom和一个 SSL 证书。实际应用程序托管在 Heroku 上exampleherokuappcom。我还通过此指南在 heroku 上上传了 SSL 证书:Heroku SSL

我希望 URL 始终附加,www.以便您永远不会访问“裸”域。

我用AWS Route 53包含以下记录:

  • [A]examplecomexamples3bucket(s3bucket 只是重定向到 wwwexamplecom)
  • [CNAME]wwwexamplecomwwwexamplecomherokudnscom

问题

如果我访问http://example.comhttp://www.example.com,则https://www.example.com一切正常(我总是被重定向到https://www.example.com)。但是如果我打开,https://example.com则不会被重定向,这是 s3buckets 和路由 53 的一个已知问题,因为它无法处理 https(这是我读到的):

S3 不允许您配置 SSL 证书,因此您无法轻松使用 Route 53 在 HTTPS 中重定向根域。如果您需要这样做,请考虑使用提供 CNAME/ALIAS 记录根域的 DNS 提供商。有关更多信息,请参阅自定义域开发中心文章,或这篇博文,展示了如何设置 SSL 裸域重定向。来源:devcenter.heroku.com/articles/route-53(抱歉,我不允许发布超过 2 个链接)

我的方法

上面的博客文章实际上非常有用。所以我设置了,Cloudfront但它对我来说不起作用,因为我不知道应该使用什么,SSL Endpoint因为我没有 Heroku(我使用免费的 Heroku SSL)。如果我输入,heroku certs -a example我会得到:

名称 | 通用名称 | 过期时间 | 受信任 | 类型

namedid-12345 | wwwexamplecom, examplecom | 2018-02-22 06:35 UTC | 真实 | SNI

但没有“真正的”终点。可能是www.example.com.heorkudns.com我的终点吗?

在 53 号公路上,我有一个

  • [A]记录从example.com<id-of-cloudfront>.cloudfront.net
  • 我也需要一个吗CNAME

更新 0

经过几天的研究,我找不到使用 Cloudfront 和 Route53 的方法。因此,我转而使用简单。他们为 Heroku SSL 提供了一个简单的一键功能。我花了大约 5 分钟

  • 创建一个帐户
  • 存入信用卡
  • 将我的域名服务器更改为指向 DNsimple 而不是 Route 53
  • 复制我的 MX 记录(不要忘记它们)
  • 设置 Heroku SSL

此后大约需要 2 个小时(最多可能需要 24 小时)才能使一切恢复正常。

现在所有域名都会重定向到https://www.example.com

该解决方案的唯一“缺点”是,它每月至少要花费 5 欧元,而 cloudfront 和 route 53 会更便宜。

相关内容