如何将 Heroku 应用程序 DNS 配置到 Godaddy 域?

Posted

技术标签:

【中文标题】如何将 Heroku 应用程序 DNS 配置到 Godaddy 域?【英文标题】:How to configure heroku application DNS to Godaddy Domain? 【发布时间】:2011-11-02 11:53:14 【问题描述】:

我创建了一个 heroku 应用程序,并希望从 godaddy.com 为其提供域。

我已经配置了 heroku 提供的所有三个主机,但现在我收到错误消息:

Heroku |没有这样的应用

没有在该主机名上配置应用程序。

可能是应用所有者重命名了它,或者您输入了错误的 URL。

我想知道:还有其他方法可以配置 heroku 应用吗?

更新:新方法 Please use this link for new approach 。接受的答案是旧功能。

【问题讨论】:

【参考方案1】:

我费了好大劲才解决它似乎对我没有任何用处。

这里提到了我遵循的步骤。

1 - 转到您的应用设置。

2 - 点击添加域。

3 - 将打开一个对话框并要求您输入所需的域。 (请以www 开头添加它,例如 - www.abcd.com

4 - 添加一个单击“下一步”以移至下一个对话框。

5 - 添加域后,您将获得 DNS 目标,现在您需要导航到 GoDaddy 并按照以下步骤操作。

6 - 导航到 https://dcc.godaddy.com/domains 并点击您的域。

7 - 单击后,您将导航到 https://dcc.godaddy.com/control/yourdomain/settings

8 - 向下滚动到底部,您将看到管理 DNS。

9 - 它将导航到 DNS 设置,然后添加类似于下面提到的条目并删除所有其他 CNAME 记录。这里的积分值是您在第 4 步中获得的 DNS 目标。

10 - 一段时间后,您的网站应该会映射到 Heroku 应用 URL。

【讨论】:

【参考方案2】:

诀窍是

    为 www.myapp.com 创建一个 CNAME 到 myapp.heroku.com 创建从 myapp.com 到 www.myapp.com 的 301 重定向

【讨论】:

我得到一个 404 链接。 shaks link 使用相同的方法。【参考方案3】:

是的,Heroku 发生了很多变化。如果您为您的网络服务器使用 Heroku dyno,您必须找到从一个 DNS 名称到另一个 DNS 名称的别名(因为每个 Heroku DNS 端点可能解析为许多 IP 地址以动态调整以适应请求负载) .

CNAME 记录用于别名 www.example.com -> www.example.com.herokudns.com.

您不能将 CNAME 用于裸域 (@),即 example.com(除非您找到可以执行 CNAME Flattening 的名称服务器 - 这就是我所做的)。

但实际上最简单的解决方案是创建一个 CNAME record 来执行此操作:www.example.com -> www.example.com.herokudns.com

然后创建一个从example.comwww.example.com 的永久301 重定向。

这只需要在您的 heroku 应用设置中配置一个 heroku 自定义域名:www.example.com.herokudns.com。 @Jonathan Roy 谈到了这个(上图),但提供了一个错误的链接。

【讨论】:

【参考方案4】:

我将非 www 指向 54.243.64.13,将 www.domain.com 指向 alias.herokuapp.com,一切都运行良好。

在指向www.domain.com之后才找到IP,然后在www.domain.com上运行dig命令,它显示:

;; ANSWER SECTION:
www.domain.com. 14400  IN      CNAME   aliasat.herokuapp.com.
aliasat.herokuapp.com. 300 IN CNAME us-east-1-a.route.herokuapp.com.
us-east-1-a.route.herokuapp.com. 60 IN  A       54.235.186.37

;; AUTHORITY SECTION:
herokuapp.com.          900     IN      NS      ns-1378.awsdns-44.org.
herokuapp.com.          900     IN      NS      ns-1624.awsdns-11.co.uk.
herokuapp.com.          900     IN      NS      ns-505.awsdns-63.com.
herokuapp.com.          900     IN      NS      ns-662.awsdns-18.net.

可能不理想但有效。

【讨论】:

如果您使用此解决方案,您的网站可能会定期关闭。 IP 可能会更改(并且会更改),这将终止您的 A 记录 DNS 设置。您必须每 2-3 个月或在 Heroku 发生任何中断后执行此操作。我们一直在处理这个问题,最终转向 cloudflare 或 easyDNS 来防止这种情况发生。【参考方案5】:

如果your-domain.com 未重定向到www.your-domain.com,则不能使用裸域。 Heroku 使用www.yourdomain.com 作为子域。因此,当您按照default instruction 使用your-domain.com 时,您需要同时分配它们。

我们实际上可以只分配没有www.your-domain.com 的裸域。仅当域的 dns 提供程序 (NameServers) 支持 ALIAS or ANAME 的 @Record 到 example.herokuapp.com 而没有 CNAME www.your-domain.com 时,才使用 your-domain.com

它将让您将www.your-domain.com 单独指向其他主机(独立)。

【讨论】:

【参考方案6】:

您需要执行 2 个步骤,

    添加自定义域插件并将您要使用的域添加到您的应用程序中,例如 www.mywebsite.com 转到您的域注册商控制面板,并将 www.mywebsite.com 设置为 yourapp.herokuapp.com 的 CNAME 条目(假设您使用的是 CEDAR 堆栈)。 如果您想使用裸域(例如 mywebsite.com),则需要将 Heroku 负载均衡器的 IP 地址添加到 mywebsite.com 的 DNS 中时,还有第三步

您可以在http://devcenter.heroku.com/articles/custom-domains阅读更多相关信息

您可能已经错过了第一步?

更新:随着 Bamboo 应用程序的 EOL proxy.heroku.com 宣布停用(2014 年 9 月),因此这些应用程序现在也应该使用 yourapp.herokuapp.com 映射。

【讨论】:

自定义域现在是核心功能,因此无需附加安装步骤。 CNAME 应设置为“[your app].herokuapp.com”(对于 Cedar 堆栈,对于竹子使用“[your app].heroku.com”) @JohnBeynon 仍然值得编辑您的答案,因为人们从谷歌来到这里。 咳嗽 如果你需要将你的裸域(example.com)重定向到你的heroku应用,你可以使用wwwizer.com/naked-domain-redirect 请注意,从 2014 年 9 月 22 日 开始,Heroku 仅支持 [yourapp].herokuapp.com。对旧版路由堆栈 [yourapp].heroku.com 的支持将被删除。【参考方案7】:

我使用此视频广播通过 Heroku 设置了我的 GoDaddy 域,它运行良好。非常清楚,解释清楚。

注意:跳过关于 CNAME yourdomain.com.(注意.)和heroku addons:add "custom domains"的部分

http://blog.heroku.com/archives/2009/10/7/heroku_casts_setting_up_custom_domains/


总结视频:

1) 在 GoDaddy 上并使用

创建一个 CNAME
Alias Name: www
Host Name: proxy.heroku.com

2) 通过在命令行输入host www.yourdomain.com 检查您的域是否已传播

3) 运行heroku domains:add www.yourdomain.com

4) 运行heroku domains:add yourdomain.com

在这些步骤之后它对我有用。希望它也对你有用!

更新:情况发生了变化,请查看此帖子Heroku/GoDaddy: send naked domain to www

【讨论】:

好帖子。这是您需要的端到端。我正要发布这个链接。 我是 webdev 的新手,如果这个问题有点初级,很抱歉,但是我是保留还是删除别名为 www 和主机名 @ 的默认 CNAME?编辑:哎呀,好像只能存在一个。 自 2019 年 2 月起,这不起作用,除非您尽早要求退款,否则 GoDaddy 将保留您支付的任何费用。 Heroku 确实保留了推荐的 DNS 提供商列表。更多信息在这里:devcenter.heroku.com/articles/custom-domains

以上是关于如何将 Heroku 应用程序 DNS 配置到 Godaddy 域?的主要内容,如果未能解决你的问题,请参考以下文章

如何为指向 Heroku 应用程序的***域(无 www)设置 DNS?

如何使用 Netlify 和 Heroku 实现 NameCheap DNS

如何在 heroku 中使用非 www 域?

如何在Heroku上部署时配置/设置命令

Nuxt 应用程序 - 客户端和服务器文件分离 - 如何部署到 Heroku?

jhipster - 将应用程序部署到 Heroku 后无法运行本地开发配置文件