如何配置 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"
我需要做什么才能发生以下情况:
- 这会加载 - http:// mydomain.com
- 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 记录:
- CNAME "myapp.com" blah-blah-12345-herokudns.com
- CNAME "www" blah-blah-12345-herokudns.com
- 从 Cloudflare
将自定义 DNS 名称服务器复制到 Google
在那之后,我现在可以去 myapp.com
,它就可以正常工作了。超级激动因为我真的不想 www.myapp.com
.
一件很酷的事情是我已经为域设置了一个 GSuite 帐户,当我注册 Cloudflare 时,它从 Google 导入了所有 DNS 规则,包括电子邮件的 MX 记录,因此它可以无缝工作.
我使用 Heroku 和 Google 域在 Web 浏览器中加载域。现在域加载了 www:http://www。 XXX.com.
如果我输入 URL w/o 之类的 WWW,我会在 Chrome 中收到以下错误:"XXX.com’s server DNS address could not be found"
我需要做什么才能发生以下情况:
- 这会加载 - http:// mydomain.com
- 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 记录:
- CNAME "myapp.com" blah-blah-12345-herokudns.com
- CNAME "www" blah-blah-12345-herokudns.com
- 从 Cloudflare 将自定义 DNS 名称服务器复制到 Google
在那之后,我现在可以去 myapp.com
,它就可以正常工作了。超级激动因为我真的不想 www.myapp.com
.
一件很酷的事情是我已经为域设置了一个 GSuite 帐户,当我注册 Cloudflare 时,它从 Google 导入了所有 DNS 规则,包括电子邮件的 MX 记录,因此它可以无缝工作.