要从 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 的功能。
我不是系统管理员。我也花了很多时间在这个问题上,希望这会有所帮助。