我想知道如何在 heroku 上发布我的应用。我的DNS是123-reg。 123-reg不为heroku部署提供任何支持,反之亦然。
我之前曾问过这个问题(在评论中投票并嘲笑) Rails, Heroku - configuring 123-reg domain for heroku
我再次问,希望找到一些有关如何使其发挥作用的实质性帮助。
目前,当我尝试使用自定义域名呈现页面时,出现错误消息:
无法访问此网站 找不到www.mydomainname.com的服务器DNS地址。 尝试运行网络诊断。
DNS_PROBE_FINISHED_NXDOMAIN
当我在终端中尝试以下操作时,我得到以下指出的响应:
host www.mycustomdomainname.com
未找到主机www.mycustomdomainname.com:3(NXDOMAIN)
host https://www.mycustomdomainname.com
找不到主机https://www.mycustomdomainname.com:2(SERVFAIL)
dig www.mycustomdomainname.com cname +short
myherokualias.herokudns.com
heroku域返回带有和不带www前缀的heroku别名。
在我的DNS中,我有一条CNAME记录:
DNS入口类型优先级TTL目的地/目标 www CNAME mycustomdomainname.herokudns.com。
除此之外,我的电子邮件帐户还有MX和TXT记录。
任何人都可以看到我需要做些什么才能使用我的自定义域名来呈现页面?
当我尝试:
curl -vI https://www.mycustomdomainname.com *重建网址:https://www.mycustomdomainname.com/ *无法解析主持人:www.mycustomdomainname.com *关闭连接0 卷曲:(6)无法解析主持人:www.mycustomdomainname.com
我迷失了试图让这个工作的事情
HEROKU SETTINGS
通过检查我的heroku生产检查,我可以看到,我有以下问题:
FAILED DNS configuration
Your DNS is not configured correctly. Your domain "mycustomdomain.com"'s ALIAS or ANAME record should point to ancient-water-74339.herokuapp.com.
然而,它也说:
PASSED Heroku SSL
Heroku SSL说明说:
Change your DNS for all domains on your app
Verify your DNS settings by running dig www.yourdomainname.com cname +short. If it returns www.yourdomainname.com.herokudns.com then you have set it up correctly. If you are using an ALIAS or ANAME record, you can verify that based on the DNS provider. For instance, DNSimple will return a TXT record showing how your domain’s ALIAS is set-up.
You should note that it may take up to 24 hours before your DNS is fully propagated globally.
对我来说,这意味着我应该用'herokudns'来代替'herokuapp'的引用。此外,我正在阅读这些说明,要求我用'mycustomdomainname'替换'ancient-water-74339'。
我已经这样做了(因为我理解了说明),所以我的DNS上的CNAME现在指向'mycustomdomainname'.herokudns.com。
heroku生产检查说这是不正确的。我应该有2个CNAME记录(一个使用heroku alias.herokuapp)而另一个使用'mycustomdomainname'.heroku dns ?
我尝试将LetsEncrypt_plugin gem用于rails。我无法验证该配置中是否存在错误,因为该gem不支持heroku。
任何人都可以看到我应该做些什么来摆脱这种配置地狱吗?
带有SSL的DNS的heroku生产检查说明提供了配置SSL端点的说明。 SSL端点说明表明它们仅适用于旧版客户端(我不知道遗留客户端是什么),但该页面建议使用Heroku SSL。这些说明说在应用程序名称末尾使用“herokudns.com”。
我似乎无法将这些说明的任何组合用于工作。
答案 0 :(得分:4)
<强>清单强>
在您的DNS提供商上,确保您的CNAME记录已正确设置:
Host: *
Points To: yourapp.herokussl.com
在Heroku上转到“资源”并确保安装了SSL add-on。
在Heroku上转到“设置/域名和证书”,并确保正确设置自定义域名:
Domain Name: *.yourdomain.com
DNS Target: yourapp.herokussl.com
请注意herokuapp.com和herokussl.com上的网址可能有所不同。如果您使用的是SSL证书,则必须使用后者。
<强>陷阱强>
使用heroku toolbelt确保您的SSL证书仍然可信
heroku certs:info --app yourapp
您的注册商和DNS提供商可能会有所不同,这可能会导致您在错误的地方修改CNAME记录。
要确保您位于正确的位置,请在您的域中执行whois
:
whois yourdomain.com | grep 'Name Server'
如果您的域名实际指向123-reg,则输出应为:
Name Server: ns1-123-reg.co.uk
Name Server: ns2-123-reg.co.uk
如果输出是其他内容,那么您可能应该在其他位置设置CNAME记录。
希望这有助于&lt; 3
答案 1 :(得分:2)
将您的域名指向Heroku信息中心上的Heroku应用后,转到设置标签并向下滚动到自定义域。点击ADD DOMAIN并添加您的自定义域。
答案 2 :(得分:1)
根据您的解释,为域名正确设置了CNAME记录。 请确保正确地从Heroku端添加域。本指南可以帮助您https://devcenter.heroku.com/articles/custom-domains