使用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指向更改是必要的。 使用别名更容易。
3)一旦你这样做,你会看到一个以“www”开头的行作为CNAME(别名)选项。 把它填入你的heroku应用的域名example.herokuapp.com
这就是namecheap。
4)然后在heroku设置下,在“域名”下,input你想要显示的域名。
而已! 让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理”。
– 将两种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.com
或www.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更新了它的界面。 新的截图来补充其他好的答案:
设置一个如下所示的namecheapconfiguration:
和一个herokuconfiguration,看起来像这样:
你很好走!
这里有两个可能性,
- 您以前曾经将DNSlogging指向myapp.heroku.com,并且这些更改尚未传播
- 这可能是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。 希望有所帮助!