如何为 Name.com 和 Heroku 应用配置 DNS 记录

How to configure DNS records for Name.com and a Heroku app

我对如何在 Name.com 为我的域设置 DNS 记录以便它可以正确指向我的 Heroku 应用感到困惑。

我在 heroku 的网站上找到了 DNS 配置文档,但我仍然很困惑。

我的印象是我需要为所有子域设置 CNAME 记录并为我的根域设置 A 记录。

此外,在 name.com 网站上,当我尝试添加 CNAME 时,我需要填写三个空白字段,这让我很困惑:"Host"(我在其中输入 '* ' 所以它适用于所有子域?)、"Answer"(我在哪里输入 DNS 目标?)和 "TTL"

如有任何帮助,我们将不胜感激。谢谢。

不要为您的根域使用 A 记录。 Heroku 使用的是可变 IP 地址,这意味着您在 A 记录中配置的 IP 可能会随时停止工作,恕不另行通知。
参见 https://devcenter.heroku.com/articles/apex-domains

在您的根域上,您需要使用 DNS 提供商设置到 www 子域的 HTTP 重定向,或者使用其他提供根域 CNAME 记录的提供商。

至于您的子域中的 CNAME,是的,"Host" 将是“*”以表示您的所有子域。
答案将是 heroku 提供的端点,格式为 appname.herokudns.com..
TTL 表示客户端刷新 DNS 缓存的频率。使用默认值(或 3600,如果他们没有提供)将在这里工作。

以下是对我有用的方法。从在 Heroku CLI 中输入这个开始

Heroku domains: add www.youwebsitename.com --app yourherokuapp 

这应该给你一个 DNS target.You 可以从你的应用程序设置以及网站上获得它。复制并保存它,因为在 运行

之后我们将需要它 later.Then
heroku domains:wait for www.youwebsitename.com --app yourherokuapp 

然后访问 name.com 并在您的域下访问您的 dns 记录。添加 CNAME 条目,HOST 等于“www.yourwebsite.com”,ANSWER 等于 heroku 为您提供的任何 dns 目标。

继续访问您的网站,如果它不能确保您在网站名称中使用了 www,它就可以正常工作。要解决此问题,请添加一个 ANAME 条目,将“yourwebsite.com”作为 HOST 并再次将 heroku dns 作为目标。它应该会在几个小时内反映出变化。

完全详细的步骤 (2)


1).访问 Heroku apps dashboard

  • 选择您的应用程序

  • 点击“设置”

  • 查找文本 “添加域”,单击按钮

  • 使用 www 子域添加您的站点:

  • 复制返回的“DNS目标”


2).访问您的 name.com account

  • 找到 link 文本 “管理 DNS 记录” 并访问 link

  • “ADD RECORD” 行,内容如下:

Type: Host: Answer:
CNAME www DNS target value from clipboard

,是帮助我写下这个答案的原因。)