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

时间:2011-08-24 05:04:05

标签: heroku dns

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

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

  

Heroku |没有这样的应用程序

     

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

     

也许应用所有者已将其重命名,或者您错误输入了该网址。

我想知道:有没有其他方法可以配置heroku应用程序?

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

9 个答案:

答案 0 :(得分:82)

您需要执行两个步骤,

  1. 添加自定义域插件并添加您要使用的域名,例如www.mywebsite.com到您的应用程序
  2. 转到您的域名注册商控制台,并将www.mywebsite.com设置为yourapp.herokuapp.com的CNAME条目,假设您使用的是CEDAR堆栈。
  3. 如果您想使用裸域,例如mywebsite.com,则必须将Heroku负载均衡器的IP地址添加到您的DNS for mywebsite.com
  4. ,这是第三步。

    您可以在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上创建一个带

的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

答案 2 :(得分:15)

Arpit,我遇到了同样的问题并写了a blog post about deploying with Heroku and adding a custom domain

诀窍是

  1. 为www.myapp.com创建一个CNAME到myapp.heroku.com
  2. 从myapp.com创建301重定向到www.myapp.com
  3. 希望对你有用!

答案 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 - 点击添加域。

enter image description here

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

enter image description here

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

enter image description here

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

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

7 - 点击后您将导航至 https://dcc.godaddy.com/control/yourdomain/settings

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

enter image description here

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

enter image description here

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.comwww.example.com的永久301重定向。

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