如何配置 Google Domains + Heroku w a Naked Domain

How to configure Google Domains + Heroku w a Naked Domain

我使用 Heroku 和 Google 域在 Web 浏览器中加载域。现在域加载了 www:http://www。 XXX.com.

如果我输入 URL w/o 之类的 WWW,我会在 Chrome 中收到以下错误:"XXX.com’s server DNS address could not be found"

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

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

谢谢

恕我直言,你应该:

1/ 将您的 heroku 域设置为 http://example.com. All the info are in the Heroku documentation

Heroku 应使用 http://example.com.

为您的网站提供服务

2/ 您需要在 Google 域中将您的 http://www.example.com 重定向到 http://example.com。为此,您需要在网站选项卡下的 Google 域控制台中设置 Web 转发。 文档 很简单。

任何 http://www.example.com 请求应转发至 http://example.com.

更新

由于您的需要,我想知道是否最好不要禁用裸到 www 重定向,让两个域都指向您的 heroku 实例并为它们获取 SSL 证书(使用 let's encrypt 使事情变得简单)。

这里是tutorial.

希望对您有所帮助!

建议在此处将 www 子域设置为默认子域,这样 root/naked 域将重定向到 www。这符合 Heroku recommendations,即:

For maximum scalability and resiliency applications should avoid using DNS A-records and instead use a DNS provider that supports CNAME functionality at the apex, or use sub-domains exclusively

您可以使用 Google 域综合记录实现此目的:

  • 转到综合记录部分
  • Select 子域转发
  • 为子域输入 @,为目标输入 www.xyz.com

另一种解决方案是使用某些第 3 方 DNS 提供商(如 Cloudflare)来执行此操作。我刚刚经历了同样的过程。应用托管在 Heroku 上,域名购买自 Google。使用 Cloudflare 注册了一个免费帐户,并按照本指南在大约一个小时内启动并 运行:https://support.cloudflare.com/hc/en-us/articles/205893698

我做过的事情:

  • 删除我之前尝试在 "Custom resource records"
  • 下添加到 Google 的 DNS 规则
  • 只在 Heroku 中为根添加了一个域:"myapp.com" (not "www.myapp.com", not "*.myapp.com") 给了我一个像 "blah-blah-12345-herokudns.com"
  • 这样的 DNS 地址
  • 在 Cloudflare 的 DNS 页面上添加两条 CNAME 记录:

    1. CNAME "myapp.com" blah-blah-12345-herokudns.com
    2. CNAME "www" blah-blah-12345-herokudns.com
  • 从 Cloudflare
  • 将自定义 DNS 名称服务器复制到 Google

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

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