Heroku Godaddy裸域

par*_*rov 22 dns heroku

我有一个Heroku应用程序,我添加了一个CNAME(www到herokuapp),将它从GoDaddy重定向到Heroku.现在我正在努力管理裸域.

这是来自Heroku的文档.

裸域(也称为裸域或顶点域,例如mydomain.com)必须使用DNS A记录.要设置根域,请使用DNS管理工具为以下每个地址添加单独的A记录:

75.101.163.44
75.101.145.87
174.129.212.2
Run Code Online (Sandbox Code Playgroud)

使用"host"命令检查DNS是否配置正确:

$ host example.com
example.com has address 75.101.163.44
example.com has address 75.101.145.87
example.com has address 174.129.212.2
Run Code Online (Sandbox Code Playgroud)

我还从GoDaddy主菜单激活了转发.

好吧,如果我尝试使用我的域名托管example.com,一切正常.但是,当我尝试使用浏览器时,我得到了这个:

Heroku | 没有这样的应用程序该主机名没有配置应用程序.也许应用程序所有者已将其重命名,或者您输入了错误的URL

我也尝试使用该命令,heroku domains:add yourdomain.com 但这会创建我的应用程序的第二个实例,它不会将其重定向到完整的域www

red*_*nce 20

Heroku 高度建议不要使用A-records指向云应用程序中的域.使用A记录会增加DNS解析不稳定的可能性.Heroku在这里详细介绍.

相反,您应该将裸域重定向到"www"子域.您可以参考此SO线程以获取有关如何在GoDaddy上进行设置的更多详细信息.

  • 像@bishopz所说,使用GoDaddy转发服务不适用于HTTPS.`https:// root.com`不会重定向到`https:// www.root.com`.唯一有效的是`http:// root.com`到`http:// www.root.com`.这只是一个部分解决方案.问题是为什么它只发生在HTTPS而不是HTTP上. (9认同)
  • 跳上这个潮流 - 不可能仅使用GoDaddy转发或配置HTTPS域.GoDaddy不支持根域上的CNAME,因此您只能选择转发到www.究其原因,@Yonk,它不会为HTTPS工作是因为GoDaddy的不具有根域中的证书(他们甚至没有443端口可用于它).当用户尝试通过SSL/TLS(端口443)命中根域时,它只是旋转.目前只有解决方案似乎是: - 更改DNS解决方案 - 即Route53 - 将根点指向中间服务器 - 禁止 (4认同)
  • 在过去的一年里,我已经多次应用这种方法(将A Records指向Heroku云实例IP),我的经验是Heroku每隔几个月更改一次实例.因此在生产中非常沮丧. (3认同)
  • 这不适用于HTTPS域https://kb.heroku.com/why-am-i-seeing-a-certificate-mismatch-error-when-i-access-my-custom-domain-over-ssl-tls (2认同)