提问者:小点点

如何配置Google Domains+Heroku wa Naked Domain


我有一个域加载在一个网络浏览器使用Heroku和谷歌域。现在域加载了一个www:http://www。XXX.com。

如果我输入WWW的URL,比如http://XXX.com,我会在chrome中得到以下错误:“XXX.com的服务器DNS地址无法找到”

我需要做什么才能发生以下情况:

  1. 此加载-http://mydomain.com
  2. http://www。mydomain.com重定向到http://mydomain.com

谢谢


共3个答案

匿名用户

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

我做过的事:

>

  • 删除以前尝试添加到Google的“自定义资源记录”下的DNS规则
  • 在Heroku中为根添加了一个域:“myapp.com”(不是“www.myapp.com”,也不是“*.myapp.com”),它给了我一个DNS地址,如“blah-blah-12345-herokudns.com”
  • 在Cloudflare中,在DNS页面上添加两个CNAME记录:

    1. cname“myapp.com”blah-blah-12345-Herokudns.com
    2. CNAME“www”blah-blah-12345-Herokudns.com

    之后,现在我可以转到myapp.com,它就能正常工作了。超级激动,因为我真的不想要www.myapp.com

    一件很酷的事情是,我已经为该域名建立了一个GSuite帐户,当我注册Cloudflare时,它从Google导入了所有的DNS规则,包括电子邮件的MX记录,因此它可以无缝地工作。