使用heroku和namecheap设置自定义域

时间:2013-10-16 09:16:37

标签: ruby-on-rails heroku

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

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

myapp.herokuapp.com

myapp.com

www.myapp.com

在Namecheap上,我有以下设置:

主持人姓名| IP ADDRESS / URL |记录类型

@ http://myapp.com网址重定向

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


当我在我的终端中运行:“host www.myapp.com”时,我希望得到“www.myapp.com是myapp.herokuapp.com的别名”。相反,我得到:

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

我无法弄清楚为什么它指向myapp.heroku.com,因为我只指定了myapp.herokuapps.com。

有人知道为什么会这样吗?

9 个答案:

答案 0 :(得分:42)

更新备注: Heroku和Namecheap经常更改界面。这个答案可能已经过时了截图,但会随着时间的推移而更新。请参阅下面的这些更新。

我自己刚刚完成了这项工作,所以我认为我已经知道了,因为答案并没有说明如何让www.domain.com和domain.com都工作。 Heroku还更改了管理界面abit。

Namecheap

  • 首先,登录Namecheap
  • 转到域列表,然后针对您正在配置的域点击“管理”。

Namecheap - 将两种记录类型设置为CNAME (别名),并在两个网址框(@和www)中输入<name>.herokuapp.com

(PS:如果他们不在那里,请点击“添加新记录”并将其添加到那里。)

enter image description here

接下来,前往Heroku

  • 登录并从列表中选择您的项目。在这个例子中,我们选择了“Lakka”项目。

enter image description here

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

enter image description here

  • 向下滚动,找到添加域名

enter image description here

  • 输入您的domain.com,然后点击保存。
  • 再次点击该按钮,然后输入您的www.domain.com并点击保存。

enter image description here

就是这样,你已经完成了!现在,当您在浏览器中输入domain.comwww.domain.com时,两者都会显示您的Heroku项目。

在此示例中,http://lakka.herokuapp.comhttp://lakkatracker.com上也可以访问http://www.lakkatracker.com(在DNS更新后)。

(如果您想将流量从www.domain.com重定向到domain.com,这是一个很好的做法,您可以使用记录类型“URL(重定向)”作为www主机名)

您的DNS识别更改可能需要一些时间。如果您的更改未立即反映,则可以尝试使用代理进行测试,例如Anonymouse

答案 1 :(得分:36)

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

2)在左侧边栏上,单击&#34;所有录制主持人&#34;,而不是其他任何其他爵士乐教程告诉您的。不需要DNS指向更改。使用别名更容易。

namecheap sidebar all host records

3)一旦你这样做,你就会看到以&#34; www&#34;开头的行。作为CNAME(别名)选项。将其填入您的heroku应用程序的域名example.herokuapp.com

namecheap CNAME alias location

这就是名字简介。

4)然后在heroku设置的&#34; domains&#34;下,输入您希望显示的购买域名。

heroku settings domains

那就是它! 它就像让heroku和namecheap知道这两个域别名一样简单。

此博客的致谢: http://blog.romansanchez.me/2013/06/08/point-namecheap-domain-to-heroku/

更新

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

答案 2 :(得分:16)

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

step 1

step 2

step 3

答案 3 :(得分:5)

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

enter image description here

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

然后使用http://anonymouse.org

测试所有内容

答案 4 :(得分:3)

设置如下所示的namecheap配置:

enter image description here

一个看起来像这样的heroku配置:

enter image description here 而且你很高兴去!

答案 5 :(得分:0)

以下是两种可能性,

  1. 您之前已将DNS记录指向myapp.heroku.com,且更改尚未传播
  2. 这可能是Heroku将应用程序从heroku.com域移动到herokuapp.com域的变更工件,但我不确定这会如何发生或为什么会发生在你身上;我的应用程序的记录都直接指向herokuapp.com,但我没有使用NameCheap。
  3. 你可以尝试使用像.tk这样的实体注册一个不同的(免费)域名,看看这是否特定于NameCheap。

答案 6 :(得分:0)

我无法同时使用www.myapp.com和myapp.com,因此我找到的解决方法之一就是将CNAME和@设置为www。,然后在“域”选项卡上设置& #34;重定向Doman&#34;从myapp.com到www.myapp.com。希望有所帮助!

答案 7 :(得分:0)

我今天将一个namecheap域链接到了我的heroku应用程序,现在它有所不同,所以这就是我所做的。

  1. 将域名(通过namecheap购买)添加到您的heroku应用中,例如www.yourdomain.com。 “ www”很重要。复制生成的xxx.herokudns.com链接。
  2. 现在在namecheap上转到您的域设置。单击高级DNS。
  3. 添加以下两个记录:
    • 类型:CNAME记录,主机:www,值:从第1步复制的网址。
    • 类型:URL重定向记录,主机:@,值:http://www.yourdomain.com
  4. 保存,也许您最多需要等待30分钟。

答案 8 :(得分:0)

取决于您的应用程序,可能是未使用SSL证书的结果。如果您尝试在免费的dyno上使用SNI SSL,它将无法正常工作。就我而言,我升级为爱好动态,它立即通过ACM起作用。