现在的情况
example.com
==examplecom
等等,因为垃圾邮件
我在 GoDaddy 上有一个域名examplecom
和一个 SSL 证书。实际应用程序托管在 Heroku 上exampleherokuappcom
。我还通过此指南在 heroku 上上传了 SSL 证书:Heroku SSL。
我希望 URL 始终附加,www.
以便您永远不会访问“裸”域。
我用AWS Route 53包含以下记录:
[A]
从examplecom
到examples3bucket
(s3bucket 只是重定向到 wwwexamplecom)[CNAME]
从wwwexamplecom
到wwwexamplecomherokudnscom
问题
如果我访问http://example.com
或http://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 会更便宜。