如何将 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.com
到www.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 上并使用
创建一个 CNAMEAlias 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