繁体   English   中英

使用 Heroku 和 namecheap 设置自定义域

[英]Setting up a custom domain with Heroku and namecheap

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

在 Heroku 上,我有以下域:

myapp.herokuapp.com

example.com

www.example.com

在 Namecheap 上,我有以下设置:

主机名 | IP 地址/网址 | 记录类型

http://example.com ://example.com URL 重定向

www myapp.herokuapp.com CNAME(别名)


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

www.example.commyapp.heroku.com的别名”

我不知道为什么它指向myapp.heroku.com ,因为我只指定myapp.herokuapps.com

有谁知道为什么会这样?

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

我自己刚刚完成了这个,所以我想我会插话,因为答案并没有说明如何让www.example.orgexample.org都工作。 Heroku 也稍微改变了它的管理界面。

名不虚传


  • 首先,登录到 Namecheap
  • 转到域列表并单击您正在配置的域的“管理”。

名不虚传

  • 将两种记录类型设置为 CNAME (别名)并在两个 url 框(@ 和 www)中输入您的<name>.herokuapp.com

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

接下来,前往 Heroku


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

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

  • 向下滚动并找到添加域部分

  • 输入您的example.org ,然后单击保存。
  • 再次单击该按钮,输入您的www.example.org并单击保存。

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

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

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

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

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

2) 在左侧边栏上,单击“所有记录主机”,而不是任何其他爵士乐其他教程告诉你的。 无需更改 DNS 指向。 使用别名更容易。

namecheap 侧边栏所有主机记录

3) 完成后,您会看到以“www”开头的行作为 CNAME(别名)选项。 将此填写为您的 Heroku 应用程序的域名example.herokuapp.com

namecheap CNAME 别名位置

这就是namecheap。

4)然后在heroku设置中,在“域”下,输入您希望显示的购买域名。

heroku 设置域

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

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

更新:

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

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

步骤1

第2步

第 3 步

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

并在 Heroku 设置中设置example.comwww.example.com

然后使用http://anonymouse.org测试一切

设置如下所示的 namecheap 配置:

在此处输入图像描述

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

在此处输入图像描述 你很高兴去!

根据您的应用程序,这可能是未使用 SSL 证书的结果。 如果您尝试在免费测功机上使用 SNI SSL,它将无法正常工作。 就我而言,我升级到了爱好测功机,它立即通过 ACM 工作。

这里有2种可能,

  1. 您之前已将 DNS 记录指向 myapp.heroku.com,但更改尚未传播
  2. 这可能是 Heroku 所做的更改将应用​​程序从 heroku.com 域移动到 herokuapp.com 域的产物,但我不确定这是如何发生的,或者为什么会发生在你身上; 我的应用程序的记录都直接指向 herokuapp.com,但我没有使用 NameCheap。

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

我无法同时让www.example.comexample.com工作,因此我发现的解决方法之一是将 CNAME 和 @ 设置为 www.,然后在“域”选项卡上,从example.com中设置“重定向域” example.comwww.example.com

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

  1. 将域(在 namecheap 上购买)添加到您的 Heroku 应用,例如www.example.com “www”很重要。 复制生成的xxx.herokudns.com链接。
  2. 现在转到 namecheap 上的域设置。 单击高级 DNS。
  3. 添加以下两条记录:
  • 类型:CNAME 记录,主机:www,值:从步骤 1 复制的 URL。
  • 类型:URL 重定向记录,主机:@,值: http://www.example.com ://www.example.com
  1. 保存,也许您必须等待长达 30 分钟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM