繁体   English   中英

将 PointDNS 用于非 www 并处理 SSL

[英]Using PointDNS for non-www and handling SSL

我一直在使用 Heroku 来托管我的应用程序 (www.justbooked.com),godaddy 是存储域的地方。 出于某种原因,最近非 www 版本(例如 justbooked.com)不再有效。

GoDaddy 似乎没有为根级域 (example.com) 提供 ANAME / ALIAS 或其他 CNAME 样式的功能。

我想知道如何让 justbooked.com 像 www.justbooked.com 一样工作。 Godaddy 是否可以通过其他方式实现这一点? 请记住,我有 SSL 证书等...

如果 GoDaddy 无法做到这一点,那么使用 PointDNS 之类的东西可能会起作用,但我仍然不确定如何使用我现有的 SSL 证书配置 PointDNS。

这里的任何帮助都会很棒,目标是让 justbooked.com(非 www)工作!!!

谢谢!

我想你的问题现在可能已经解决了,但为了帮助像你我这样的人过去(4周前我遇到同样的问题时发现了这个话题),我正在写一个循序渐进的关于如何让 PointDNS 在 HTTPS 上为 www 和非 www 域工作的教程。 在开始之前阅读所有步骤,包括注释。

  1. 通过 Heroku 的 UI 或使用 CLI 命令在您的项目中为 PointDNS 创建一个附加组件: heroku addons:create pointdns:developer
  2. 打开 Heroku 的 UI 并进入 PointDNS 仪表板。 查找“名称服务器”选项卡并查看名称服务器列表。 寻找最适合您的。
  3. 复制推荐数量的域名服务器(不多也不少),转到您购买域名的地方(在您的情况下为 GoDaddy)并编辑 DNS 服务器以指向 PointDNS。 等待至少 2 小时以使这些更改生效。
  4. 通过 Heroku 的 UI 或使用 CLI 命令,将您的 www 和非 www 域添加到 Heroku 自定义域列表中: heroku domains:add justbooked.comheroku domains:add www.justbooked.com
  5. 复制每个域出现的两个 DNS 目标(以.herokudns.com结尾的.herokudns.com )。 您可以通过 Heroku 的 UI 或使用 CLI 命令来检查 DNS 目标: heroku domains
  6. 转到 PointDNS 仪表板,为根域(非 www)添加 ALIAS 记录,为 www 域添加 CNAME 记录; 在每个目标上,添加您在上一步中复制的对应 DNS 目标。 也许这两个域的记录是在您添加 PointDNS 附加组件时自动创建的; 在这种情况下,只需编辑 DNS 目标。
  7. 再等待 1 小时,然后 Heroku 将使用 ACM(自动证书管理)为您自动设置 SSL 证书。 如果一切顺利,您现在应该让两个域都使用 HTTPS 协议。

笔记:

  1. 如果您有 1 个以上的 Heroku 应用程序使用相同的 git 代码库,则需要在 Heroku CLI 命令中使用--app标志。
  2. 你说你有一个现有的 SSL 证书。 如果您想使用它而不是 ACM 提供的那个,您需要设置一个 SSL 端点。 为此,在第 4 步之前,使用 CLI 命令创建一个: heroku addons:create ssl:endpoint 之后,使用以下命令上传您的证书: heroku certs:add server.crt server.key --type endpoint 在第 5 步中,使用heroku certs代替heroku domains命令。 在步骤 6 中使用端点 DNS 目标(以.ssl.herokudns.com结尾的.ssl.herokudns.com )。
  3. 设置域和 SSL 证书后,您可能还想将所有 HTTP 流量重定向到 HTTPS。 您只能通过将重定向逻辑编码到您的应用程序中来做到这一点。 对于 Ruby on Rails,您需要在config/environments/production.rb或类似文件中使用config.force_ssl = true
  4. 您可能会看到很多教程使用.herokuapp.com链接而不是.herokudns.com作为.herokudns.com中的 DNS 目标。 这可能适用于 HTTP 流量,但您的 HTTPS 会话将失败。 即使您只使用 HTTP(也许您使用的是免费托管计划),也请使用.herokudns.com ,因为稍后设置 HTTPS 会更容易。

参考:

  1. Heroku 开发中心:应用程序的自定义域名
  2. Heroku 开发中心:SSL 端点
  3. Heroku 帮助:Heroku 可以强制应用程序使用 SSL/TLS 吗?
  4. Heroku 开发中心:PointDNS (有点过时,但可以作为一个很好的资源)

通过pointdns指向任何网站时,您可以使用两种方式,一种是通过cname,另一种是使用pointDNS之类的服务。 如果您想在像 justbooked.com 这样的裸域上专门运行 SSL,您需要在此处指向 DNS

PointDNS 配置非常简单,因为您只需要将来自godaddy 的 dns 记录添加到 pointDNS

对于 SSL ,您可以使用 ACM 或在 heroku 设置中添加您自己的证书。ACM 使用让我们加密 SSL,它是免费的,但不允许通配符 SSL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM