使用heroku和namecheap设置自定义域

我已经按照https://devcenter.heroku.com/articles/custom-domains上的所有说明来设置自定义域名,但仍然无法正常工作。

在Heroku上,我有以下几个领域:

myapp.herokuapp.com

myapp.com

www.myapp.com

在Namecheap上,我有以下设置:

主机名| IP ADDRESS / URL | loggingtypes

@ http://myapp.com URLredirect

www myapp.herokuapp.com。 CNAME(别名)


当我运行:“主机www.myapp.com”在我的terminal,我期望得到“www.myapp.com是myapp.herokuapp.com的别名”。 相反,我得到:

“www.myapp.com是myapp.heroku.com的别名”

我不明白为什么它指向myapp.heroku.com,因为我只指定myapp.herokuapps.com。

有人知道这是为什么吗?

1)转到Namecheap,然后转到您要pipe理的域。

2)在左侧栏中,点击“所有录音主持人”,而不是任何其他爵士乐教程告诉你。 没有DNS指向更改是必要的。 使用别名更容易。

namecheap侧边栏所有主机记录

3)一旦你这样做,你会看到一个以“www”开头的行作为CNAME(别名)选项。 把它填入你的heroku应用的域名example.herokuapp.com

namecheap CNAME别名位置

这就是namecheap。

4)然后在heroku设置下,在“域名”下,input你想要显示的域名。

heroku设置域

而已! 让heroku和namecheap知道两个域别名一样简单。

学分到这个博客: http : //blog.romansanchez.me/2013/06/08/point-namecheap-domain-to-heroku/

更新:

显然,heroku将只允许网站与www. 前缀。 要有一个没有www.的真正的根域www. 将采取一些额外的忍者黑客攻击。

更新说明: Heroku和Namecheap经常改变它们的接口。 这个答案可能已经过时了截图,但会随着时间的推移而被更新。 请参阅下面的更新。

我刚刚自己做了这个,所以我想我会做出答案,因为答案没有说明如何让www.domain.com和domain.com工作。 Heroku也改变了它的pipe理界面。

Namecheap


  • 首先, login到Namecheap
  • 转到域名列表 ,然后点击您正在configuration的域的“pipe理”。

Namecheap将两种loggingtypes都设置为CNAME (别名),并在两个url框(@和www)中input<name>.herokuapp.com

(PS:如果他们不在那里,点击“添加新logging”并在那里添加。)

在这里输入图像说明

接下来, 转到Heroku


  • login并从列表中select您的项目。 在这个例子中,我们select了“Lakka”项目。

在这里输入图像说明

  • 在项目页面上,单击设置

在这里输入图像说明

  • 向下滚动,find添加域部分

在这里输入图像说明

  • input您的domain.com并单击保存。
  • 再次点击button,input您的www.domain.com ,然后点击保存。

在这里输入图像说明

就这样,你完成了! 现在,当您在浏览器中inputdomain.comwww.domain.com时,都会显示您的Heroku项目。

在这个例子中, http: //lakka.herokuapp.com也可以在http://lakkatracker.com和http://www.lakkatracker.com上访问(DNS更新后)。;

(如果您想将stream量从www.domain.comredirect到domain.com,这是一个很好的做法,您可以使用loggingtypes“URL(redirect)”作为www主机名)

DNS可能需要一段时间才能识别这些更改。 您可以尝试使用代理进行testing,如Anonymouse ,如果您的更改没有立即反映出来。

Namecheap更新了它的界面。 新的截图来补充其他好的答案:

步骤1

第2步

步骤3

如果您希望所有stream量都指向http://example.com,请执行以下操作:;

在这里输入图像说明

并在Heroku设置中设置example.com和www.example.com。

然后使用http://anonymouse.orgtesting一切;

设置一个如下所示的namecheapconfiguration:

在这里输入图像说明

和一个herokuconfiguration,看起来像这样:

在这里输入图像说明 你很好走!

这里有两个可能性,

  1. 您以前曾经将DNSlogging指向myapp.heroku.com,并且这些更改尚未传播
  2. 这可能是Heroku将应用程序从heroku.com域名移动到herokuapp.com域名的变化的人为因素,但我不确定如何发生这种情况,或者为什么会发生这种情况。 logging我的应用程序都直接指向herokuapp.com,但我没有使用NameCheap。

您可以尝试使用像.tk这样的实体注册一个不同的(免费)域,以查看是否特定于NameCheap。

我无法使www.myapp.com和myapp.com都能正常工作,所以我find的解决方法之一是将CNAME和@设置为www。,然后在Domain选项卡上设置myapp的“redirectDoman” .com到www.myapp.com。 希望有所帮助!