gpt4 book ai didi

ruby-on-rails - 将 PointDNS 用于非 www 并处理 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:34 25 4
gpt4 key购买 nike

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

注意事项:

  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 结尾的目标)。
  3. 设置域和 SSL 证书后,您可能还想将所有 HTTP 流量重定向到 HTTPS。您只能通过将重定向逻辑编码到您的应用程序中来做到这一点。对于 Ruby on Rails,您需要在 config/environments/production.rb 或类似文件中使用 config.force_ssl = true
  4. 您可能会看到很多教程使用 .herokuapp.com 链接而不是 .herokudns.com 作为 PointDNS 中的 DNS 目标。 这可能适用于 HTTP 流量,但您的 HTTPS session 将失败。即使您仅使用 HTTP(也许您使用的是免费的),也请使用 .herokudns.com托管计划),因为以后设置 HTTPS 会更容易。

引用资料:

  1. > Heroku Dev Center: Custom Domain Names for Apps
  2. > Heroku Dev Center: SSL Endpoint
  3. > Heroku Help: Can Heroku force an application to use SSL/TLS?
  4. > Heroku Dev Center: PointDNS (有点过时,但可能是一个很好的资源)

关于ruby-on-rails - 将 PointDNS 用于非 www 并处理 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51368100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com