8

我推送我在heroku上使用Ruby on rails创建的应用程序,默认情况下我有myapp.herokuapp.com

我在 OVH 上购买我的域名我做 heroku 域:添加 www.myapp.co 以重定向到 myapp.herokuapp.com。

我只想拥有 www.myapp.co 这个目标并保持这个目标,我在应用程序上。你能指导在OVH上配置它吗?

我读了这个https://devcenter.heroku.com/articles/custom-domains并按照他们说的做我不明白的检查我的网址synestasia.co

感谢您的帮助。真的不明白。

4

3 回答 3

7

将您的 OVH 根域(例如 yourdomain.com)指向(重定向)到您的 heroku 应用程序所需的步骤。

转到 OVH 中的域部分并选择您的域。然后点击DNS 区域

  • 删除条目(您可以省略此步骤,但当您尝试添加条目时 OVH 会告诉您相同的内容):域:www.yourdomain.com类型为:CNAME yourdomain.comTXT 3|welcomeTXT l|pl(但这可能取决于语言,因为我使用的是 PL 语言)。

  • 添加带有子域的CNAME记录www并定位到您从 heroku 网站获得的 heroku CNAME域,例如。我的应用程序-fcmnqo274218034.herokudns.com。确认单击next并确认下一步。

  • 转到重定向选项卡并单击Add a redirection。将两个字段留空(其中一个带有您需要填写子域的域地址和未选中Also redirect www.yourdomain.com的复选框。单击。Next

  • 在下一页你应该看到What type of target do you want to redirect yourdomain.com to?问题。选择一个网址并单击Next

  • 下一页说What type of redirection do you want to use to redirect yourdomain.com ?。选择with a visible redirection.并单击Next

  • 在下一个窗口中选择永久(301)重定向,然后您将被要求提供您在占位符中的完整地址,例如。https://www.yourdomain.com,然后单击下一步并验证重定向规则。


域传播可能需要一段时间(最多约 24 小时,但我的在几分钟内就准备好了)。要不在浏览器中缓存指向 DNS 的域(因为这可能会欺骗您的网站未找到但它可能适用于其他人),您可能需要使用一些工具来检查域是否指向新服务器(例如https: //dnschecker.org - 这不是垃圾邮件,我和他们没什么共同点)

感谢此用户发布该解决方案:http: //community.ovh.com/t/redirection-vers-app-heroku/6392/16

于 2019-08-11T11:58:25.330 回答
6

要从 Heroku 提供您的域名,您需要告知您使用的 DNS 服务托管您的服务器的位置。

通常,这是通过声明 A 记录 DNS 条目来完成的:A 记录需要一个静态 IP 地址,因此您只需填写服务器的 IP。

Heroku 的挑战在于它使用动态 IP 地址,因此不能选择 A 记录。

所以另一个选项是声明一个 CNAME 记录:一个 CNAME 将一个名称指向另一个 CNAME 或一个 A 记录。

问题是:CNAME 不应该用于根域(AKA 基域或顶点域)。它们仅适用于子域。

因此,您可以轻松声明www.example.com指向您的 Heroku 应用程序(在任何 DNS 服务上,包括 OVH),但不是example.com.

为了解决这个问题,一些 DNS 服务提出了自己的解决方案,基本上可以让您将域指向另一个域。

Heroku 文档的添加自定义根域部分提到了这些提供程序:

ALIAS at DNSimple
ANAME at DNS Made Easy
ANAME at easyDNS
ALIAS at PointDNS
CNAME at CloudFlare——有点用词不当

OVH 没有提供这样的选择(也许不足为奇,因为他们的大部分业务来自托管服务器。)

底线:如果您的域名由 OVH 提供,请使用子域(例如:www.mysite.com)或更改您的 NS 记录以使用不同的 DNS 服务,该服务在顶点支持类似 CNAME 的功能。

我不是系统管理员。我也花了很多时间在这个问题上,希望这会有所帮助。

于 2017-08-10T10:13:53.687 回答
6

这很简单。

  1. Heroku 面板 -> 你的应用程序 -> 设置 -> 域和证书 -> 添加域。
  2. 复制 DNS 目标
  3. 登录 OVH
  4. WEB -> 域 -> 您的域
  5. DNS 区域
  6. 字段:www.yourdomain.com | 类型:CNAME | 目标:yourdomain.com
  7. 点击“...” -> 更改条目 -> 删除目标 -> 粘贴 Heroku DNS 目标 + “.(点)”
  8. 微笑 。就这样。
  9. 有时您必须等待 24 小时。
于 2019-02-16T13:21:43.967 回答