设置Heroku和GoDaddy?[关闭]


108

我试图获得通过GoDaddy购买的域名,以便与我的Heroku托管站点一起使用。

如何配置域名以与Heroku一起使用?


21
我不同意这个问题太广泛了。我觉得它很具体。使用heroku在Rails应用程序上设置一个ruby,并创建一个指向它的GoDaddy域。我遇到了完全相同的问题,这里提供的答案为我提供了我所寻找的解决方案。
赫克托·奥多涅兹

Answers:


300

[2014年10月31日更新]好!有用!这是我从头开始做的,因此其他有相同问题的人也可以解决。首先,我将说明如何设置Heroku和GoDaddy,然后将说明如何创建裸域(www.example.com-> example.com)。

设置Heroku和GoDaddy:

  1. 在终端(在计算机上)的项目文件夹中,写heroku domains:add www.example.comwww.example.com您在GoDaddy上购买的域在哪里)

  2. 登录GoDaddy-> DOMAINS->选择您的域->启动(这将带您进入“域详细信息”)

  3. 点击“ DNS区域文件”标签

  4. 删除名为“ www”的CNAME记录(指向@)

  5. 点击“添加记录”-> CNAME(别名)->“主机”应为www“指向”作为您的Heroku地址(例如 supermoo-bil-3411.herokuapp.com)。TTL可以是1小时。

DNS传播可能需要一些时间。对我来说大约花了10分钟。

而已!supermoo-bil-3411.herokuapp.com现在将在www.example.com:)下

创建一个裸域:

裸域名消除了在域名前面写www的需要。可以通过转发到来example.com完成www.example.com。这在GoDaddy上非常简单:

  1. 在与上述相同的窗口中,单击“设置”标签

  2. 在转发->域->单击'管理'->然后单击'添加转发'

  3. “转发到”应为www.example.com(您的域),“重定向类型”应为“ 301(永久)”,“转发设置”应为“仅转发”

  4. 确保选中“更新我的名称服务器和DNS设置以支持此更改。(推荐)”

    而已!你完成了:)

有用的链接:

感谢Ryan Kazinec的帮助:)


当我尝试添加域(heroku domains:添加www.example.com)时,我得到:未指定帐户。使用--account <帐户名称>运行此命令,您知道这是什么帐户吗?
misschoksondik 2014年

如果通过herokus插件安装ssl证书,那么cname记录应该变成什么?
克里斯·霍金斯

2
我认为必须注意,如果按照步骤4中的建议删除所有记录,则如果设置了电子邮件,谷歌应用程序或其他服务,则可能会造成混乱。要做此工作所需的唯一记录就是A记录和CNAME记录,分别用于www和所包含的任何子域。
biggles

@allegutta您是否在网站上实现了SSL。如果是这样,别名是否仅指向herokussl网址?
Moosa 2014年

1
只是CNAME而不是CNAME(别名)
杰克·

1

DNS设置往往会有一个滞后时间。

您是否尝试过从其他设备访问该应用程序?(例如,正在另一网络上运行的智能手机吗?)我曾多次见到我的本地dns缓存引起问题,这就是为什么从另一台设备访问它可能会给您带来一些启发。

如果要从基于Windows的PC更改dns,则可以刷新dns缓存,有时可以解决问题。

1.)右键单击CMD.exe(又名命令提示符)。2.)单击以管理员身份运行。3.)输入:ipconfig / flushdns 4.)按Enter键

但是请记住,DNS更改可能需要一段时间才能传播。


嗨,距我完成DNS设置已经三天了,我试图将站点加载到不同的设备和机器上。通常需要多长时间?
allegutta

1
DNS记录中有一个称为TTL的字段。这告诉其他DNS服务器缓存DNS条目多长时间(以秒为单位)。在测试时将此值设置为较低的值,然后在弄清DNS后将其调高。某些DNS服务器可能会使用其自己的值覆盖TTL,因此请注意,但我认为最坏的情况通常是几个小时。
亚当·法比基基

通常最多需要几个小时,但我已经看到警告,它最多可能需要24小时才能传播。尽管如此,三天应该是足够的时间。
Ryan Kazinec

与您在问题中提到的教程相比,这是更详细的教程:devcenter.heroku.com/articles/custom-domains
Ryan Kazinec

1
感谢链接Ryan,它确实帮助我解决了这个问题!
allegutta

0

转到https://dnsimple.com/r/ecc41c23013629并开设一个帐户。

他们为heroku设置了一键设置,您可以将TTL设置为低至一分钟。然后,在GoDaddy一侧,只需将dns服务器从go daddy服务器更改为dnsimple服务器(所有内容都在dnsimple站点上进行了说明)。简单;)

您的域仍由GoDaddy托管

以我的拙见,GoDaddy不是管理您DNS的地方。


我在GoDaddy中取得成功。但我会检查出来的!谢谢:)
allegutta

当Godaddy在基本用例上工作正常时,没有理由为DNS付费。
phillyslick

1
非常基本的用例。如果您不想为像样的dns服务付费,总会有免费的cloudflare版本;)
Paul Williams

Cloudflare使网站变慢。
TheVinspro

0

使用Heroku设置外部域的最简单方法之一就是使用此插件:https : //addons.heroku.com/zerigo_dns-您只需要将dns名称服务器指向

a.ns.zerigo.net
b.ns.zerigo.net
c.ns.zerigo.net
d.ns.zerigo.net
e.ns.zerigo.net

我不隶属于Zerigo DNS,只是一个快乐的用户。是的,它是免费的,每月可以进行50,000个查询,每月只需支付$ 20,您就可以无限查询。

希望这可以帮助。


从2014年1月31日起,Zerigo将不再提供免费帐户
hoitomt 2014年

天啊 可能将我的DNS放在cloudflare上。
2014年

我现在可以看到免费帐户
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.