【发布时间】:2017-08-18 23:19:50
【问题描述】:
我已按照 Heroku 的 Automated Certificate Management 说明通过 LetsEncrypt 为我的 Ruby Sinatra 应用程序生成 SSL 证书(感谢 LetsEncrypt 和 heroku!),但为我的自定义域生成 SSL 证书失败。
激活自动证书管理后,我的应用的 heroku 域名从 *.herokuapp.com 更改为 *.herokudns.com,正如预期的那样。
我已相应地更新了我的 Google 域记录,但是 Google 域不允许将域根指定为 CNAME 记录。相反,根需要通过子域转发指向 http(s)://www.mycustomdomain.com,即
mycustomdomain.com --> http://www.mycustomedomain.com
当 heroku 的证书生成过程运行时,它希望 www.mycustomdomain.com 和 mycustomdomain.com 都得到验证。似乎域根通过子域转发指向 www 地址的事实正在阻止域根验证。
我猜这会导致自定义域 SSL 证书的生成失败?
在与 heroku 核实之前,我先联系 stackoverflow 社区,以防有人遇到并解决了这个问题?
heroku 上的自定义域设置
user@machine1:~/projects/mycustomdomain$ heroku domains
=== mycustomdomain Heroku Domain
mycustomdomain.herokuapp.com
=== mycustomdomain Custom Domains
Domain Name DNS Target
──────────────── ──────────────────────────────
mycustomdomain.com mycustomdomain.com.herokudns.com
www.mycustomdomain.com www.mycustomdomain.com.herokudns.com
谷歌域配置
子域转发
mycustomdomain.com --> http://www.mycustomdomain.com
*.mycustomdomain.com --> http://www.mycustomdomain.com
自定义资源记录
<table style="border:1px solid black; border-collpase">
<tr>
<th>NAME</th>
<th>TYPE</th>
<th>TTL</th>
<th>DATA</th>
</tr>
<tr>
<td>www</td>
<td>CNAME</td>
<td>1h</td>
<td>www.mycustomdomain.com.herokudns.com</td>
</tr>
</table>
作为一个迟来的更新,我后来发现了以下链接,我已成功使用该链接配置我在 Google Domains 上托管的应用,以使用 Let's Encrypt SSL:https://medium.com/@connorleech/https-ssl-on-heroku-with-google-domains-as-dns-provider-c55c438556c6
(我提供链接而不是在这里重述信息,因为它是相当多的信息)
【问题讨论】:
-
澄清问题:您在应用中配置了哪些自定义域,相关 CNAME 记录的配置具体是什么? (我们有 Heroku ACM 与 Google Domains 合作,希望能提供帮助)
标签: ssl heroku lets-encrypt google-domains