我有一个域加载在一个网络浏览器使用Heroku和谷歌域。现在域加载了一个www:http://www。XXX.com。
如果我输入WWW的URL,比如http://XXX.com,我会在chrome中得到以下错误:“XXX.com的服务器DNS地址无法找到”
我需要做什么才能发生以下情况:
谢谢
IMHO,你应该:
1/将heroku域设置为http://example.com。所有信息都在Heroku文档中。
Heroku应该使用http://example.com为您的网站提供服务。
2/您需要在Google域名中将您的http://www.example.com重定向到http://example.com。要做到这一点,您需要在Google Domain console中的网站选项卡下设置web转发。文档是直接的。
任何http://www.example.com请求都应转发到http://example.com。
更新
由于您的需要,我想知道最好的办法是不禁用naked to www重定向,将两个域点都指向您的heroku实例,并为它们获得SSL证书(使用Let's encrypt使事情变得简单)。
这里有一个教程。
我希望这能帮上忙!
建议将www
子域设置为默认域,这样根域/裸域将重定向到www
。这符合Heroku的建议,其中指出:
为了获得最大的可伸缩性和弹性,应用程序应该避免使用DNS a记录,而是使用在顶点支持CNAME功能的DNS提供程序,或者专门使用子域
您可以通过Google Domains合成记录实现这一点:
@
,为目标输入www.xyz.com
另一个解决方案是使用诸如Cloudflare这样的第三方DNS提供商来实现这一点。我也经历了同样的过程。应用程序托管在Heroku与一个从谷歌购买的域名。在Cloudflare注册了一个免费帐户,并按照以下指南在大约一个小时内启动并运行:https://support.Cloudflare.com/hc/en-us/articles/205893698
我做过的事:
>
在Cloudflare中,在DNS页面上添加两个CNAME记录:
之后,现在我可以转到myapp.com
,它就能正常工作了。超级激动,因为我真的不想要www.myapp.com
。
一件很酷的事情是,我已经为该域名建立了一个GSuite帐户,当我注册Cloudflare时,它从Google导入了所有的DNS规则,包括电子邮件的MX记录,因此它可以无缝地工作。