如何为从 Google Domains 到 Heroku 的裸域设置 SSL?
Posted
技术标签:
【中文标题】如何为从 Google Domains 到 Heroku 的裸域设置 SSL?【英文标题】:How to set up SSL for naked domain from Google Domains to Heroku? 【发布时间】:2017-08-29 01:26:45 【问题描述】:我正在尝试使用 Heroku's Automatic Certificate Management 为我的网站设置 SSL。我的应用程序位于 myapp.herokuapp.com
的 heroku 上,我目前已设置 Subdomain Forwarding 以便 http://www.myapp.com
正确显示我的应用程序。
我想要的是将我的网站托管在https://myapp.com
。
我跑了heroku certs:auto:enable
,但它显示:
=== Automatic Certificate Management is enabled on myapp
Domain Status
───────────────── ───────────
www.myapp.com Failing
运行heroku domains
显示:
=== myapp Heroku Domain
myapp.herokuapp.com
=== myapp Custom Domains
Domain Name DNS Target
───────────────── ───────────────────────────────
www.myapp.com www.myapp.com.herokudns.com
现在,在 Google Domains 中,我有一个从 @.myapp.com
到 http://www.myapp.com
的子域转发。我还有一个自定义资源记录,名称为www
,类型为CNAME
,数据为myapp.herokuapp.com.
。
我需要对我的设置进行哪些更改才能在https://myapp.com
托管我的网站?
【问题讨论】:
如果您找到解决此问题的方法,请在此处发布。几个月来我一直在寻找这个答案。据我所知,目前这似乎是不可能的。至少在 Google 域中。 @trentjones21 可以。还没有运气 很想知道 您的网站是否设置为https://myapp.com
?
您是说您希望浏览器位置以https://myapp.com
结尾,还是将https://myapp.com
重定向到https://www.myapp.com
就足够了(就像您使用非ssl端)?我只是设法使该选项起作用。可能是 Google Domains 刚刚开始支持这一点。如果这是一个有效的解决方案,我会写更多的细节作为答案。
【参考方案1】:
我反复遇到 Heroku 和其他 PaaS 提供商的相同问题:取决于谁为您的域提供和管理 DNS,您可能会也可能无法在裸域上使用 CNAME 或 ALIAS 记录。这就是为什么我们创建了一个简单的服务来解决这个问题,通过应用从裸域到 SSL 下的“www”的简单 SSL 重定向,而不更改您的 DNS 管理提供商:NakedSSL 将为您提供一个 IP,并将创建和托管一个 SSL您的裸域 (https://yourdomain.com) 的证书,将其重定向到您想要的 HTTPS URL(很可能是“https://www.yourdomain.com”)。
免责声明:我显然是创建 NakedSSL 的团队的一员。我希望您不要将其视为自我推销(无论如何,我们为 1 个域免费提供它,这完全符合 95% 的开发人员/爱好者的需求),而是作为处理这种烦人情况的一种方式一个简单的方法。
【讨论】:
【参考方案2】:很遗憾,Google Domains 不支持 ANAME 或 ALIAS 记录。您必须将其中之一用于您的***域。以下是 Google Domains 支持的完整列表。
https://support.google.com/domains/answer/3290350
Heroku 在此处提供了支持 ALIAS 或 ANAME 记录的 DNS 提供商列表:https://devcenter.heroku.com/articles/custom-domains#add-a-custom-root-domain 就我个人而言,我使用 DNSimple 并取得了巨大的成功。
【讨论】:
很遗憾,是的。您可以使用“www”,但 Google 不会为您的***域提供 ALIAS 或 ANAME 记录。 你还会推荐 DNSimple 吗?【参考方案3】:CNAME
目标必须是 www.myapp.com.herokudns.com
。在您上面的问题中,您的 DNS 中只有myapp.com.herokudns.com
中的顶点记录。如果不是这种情况,您可以共享域以便我可以dig
记录以获取更多信息吗?
【讨论】:
我不得不承认我读错了标题:没有意识到你正在设置一个裸域。 Heroku 对 DNS A-Records 的限制有一个非常好的write-up。以上是关于如何为从 Google Domains 到 Heroku 的裸域设置 SSL?的主要内容,如果未能解决你的问题,请参考以下文章
如何为项目使用不同版本的 google-play-services 库
您如何为 Google Cloud 平台签署 HIPAA BAA?