如何配置Google Domains + Heroku wa Naked Domain

AnA*_*ice 14 dns ruby-on-rails heroku ruby-on-rails-4 google-domain-api

我在使用Heroku和Google Domains的网络浏览器中加载了域名.现在,域名加载了www:http:// www.XXX .com.

如果我输入没有WWW的网址,例如http:// XXX .com,我在Chrome中收到以下错误:"找不到XXX.com的服务器DNS地址"

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

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

谢谢

gwc*_*des 13

建议将www子域设置为默认值,以便root/naked域重定向到www.这符合Heroku的建议,其中规定:

为了获得最大的可扩展性和弹性,应用程序应避免使用DNS A记录,而应使用支持顶点的CNAME功能的DNS提供程序,或者仅使用子域

您可以使用Google Domains Synthetic Records实现此目标:

  • 转到Synthetic Records部分
  • 选择Subdomain forward
  • 输入@子域和www.xyz.com目标

  • @michaelsnowden:对于可伸缩性和弹性,除非您的DNS提供程序在顶点(或ALIAS或ANAME)支持CNAME,否则不建议使用它.您可以看到Google Domains不会:https://support.google.com/domains/answer/3251147.Heroku确实列出了以下内容:https://devcenter.heroku.com/articles/custom-domains#configuring-dns-for-root-domains (4认同)
  • 这令人失望。我觉得根域看起来好多了,但我已经购买了一个 google 域。感谢权威解答。 (2认同)

Jer*_*mie 1

恕我直言,你应该:

1/ 将您的 heroku 域名设置为http://example.com。所有信息都在Heroku 文档中。

Heroku 应该使用http://example.com为您的网站提供服务。

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

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

更新

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

这是一个教程

我希望这有帮助!