我创建了一个heroku应用程序,并希望从godaddy.com提供域名。
我已经配置了heroku提供的所有三个主机,但现在我收到错误说:
Heroku |没有这样的应用程序
该主机名没有配置应用程序。
也许应用所有者已将其重命名,或者您错误输入了该网址。
我想知道:有没有其他方法可以配置heroku应用程序?
更新:新方法 Please use this link for new approach。接受的答案是旧功能。
答案 0 :(得分:82)
您需要执行两个步骤,
您可以在http://devcenter.heroku.com/articles/custom-domains
了解详情猜测你可能错过了第一步?
更新:随着Bamboo的EOL proxy.heroku.com宣布退出(2014年9月)Bamboo应用程序,所以这些现在也应该使用yourapp.herokuapp.com映射。
答案 1 :(得分:71)
我使用这个视频广播来设置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
答案 2 :(得分:15)
Arpit,我遇到了同样的问题并写了a blog post about deploying with Heroku and adding a custom domain。
诀窍是
希望对你有用!
答案 3 :(得分:6)
我发现this指南对我有用。
答案 4 :(得分:2)
现在仍然适合我的是这段视频:https://www.youtube.com/watch?v=sf6GhsVGcTQ。 做到了它解释了在godaddy中设置域,在heroku上创建自定义域和DNS目标然后将这两者与CNAME链接的整个过程。
答案 5 :(得分:1)
如果未将your-domain.com
重定向到www.your-domain.com
,则无法使用www.yourdomain.com
的裸域。 Heroku使用your-domain.com
作为子域。因此,当您按照default instruction使用www.your-domain.com
时,您需要同时指定它们。
我们实际上只能在没有your-domain.com
的情况下分配裸域。仅当域名的DNS提供商(NameServers)支持 ALIAS or ANAME ,才能将example.herokuapp.com
用于{没有CNAME www.your-domain.com
的{{1}}它。
它会让您将www.your-domain.com
分别指向其他主机(独立)。
答案 6 :(得分: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。
答案 7 :(得分:0)
我将非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.
可能并不理想,但有效。
答案 8 :(得分:0)
是的,Heroku有很多变化。如果您正在为您的网络服务器使用Heroku dyno,您必须找到从一个DNS
名称到另一个DNS
名称的别名(因为每个Heroku DNS端点可以解析为许多IP地址以动态调整请求负载)。
CNAME
记录用于别名www.example.com
- > www.example.com.herokudns.com.
您不能将CNAME
用于裸域(@
),即example.com
(除非您找到可以执行CNAME Flattening
的名称服务器 - 这是什么我做了。)
但真正最简单的解决方案就是创建一个CNAME record
来完成此任务,这个解决方案几乎可以解决您的GoDaddy帐户中的所有问题:www.example.com -> www.example.com.herokudns.com
。
然后创建从example.com
到www.example.com
的永久301重定向。
这只需要在您的heroku应用设置中配置一个heroku自定义域名:www.example.com.herokudns.com
。 @Jonathan Roy谈到了这个(上图),但提供了一个不好的链接。