Heroku自动证书管理失败,只有一个域

J0A*_*NMM 12 ssl heroku ssl-certificate dnsimple namecheap

我正在尝试使用Heroku获取我的应用程序的SSL认证,但自动化证书管理失败了两个域名之一.

我在2017年3月之前创建了dyno,所以我必须heroku certs:auto:enable这里解释的那样运行.

然后,heroku domains返回:

Domain Name         DNS Record Type  DNS Target
???????????????     ???????????????  ?????????????????????????????
example.com         ALIAS or ANAME   example.com.herokudns.com
www.example.com     CNAME            www.example.com.herokudns.com
Run Code Online (Sandbox Code Playgroud)

这似乎符合heroku的预期.

无论如何,heroku certs:auto回报:

Domain             Status
???????????????    ????????????
example.com        Failing
www.example.com    OK          
Run Code Online (Sandbox Code Playgroud)

我承认我对域,DNS等设置非常不识字.因此,这可能是我身边的一个非常简单的错误.但是,我阅读了Heroku故障排除文档以及SO中的类似问题,例如这个或者这个问题,但仍然不知道出了什么问题.

www.example.com可以但却example.com失败的事实让我更加困惑.不幸的是,我收到了一封没有失败原因的通知电子邮件.

Namecheap

我想问题是在Heroku或我购买域名的地方.那就是Namecheap.com.

在那里,Domain我有标签:

NAMESERVERS Namecheap BasicDNS

REDIRECT DOMAIN   Source URL     Destination
                  example.com    http://www.example.com
Run Code Online (Sandbox Code Playgroud)

Advanced DNS标签处:

Type                  Host    Value                               TTL
-------------         -----   -------------------------------     -------
CNAME Record          www     example.com.herokudns.com           Automatic
TXT Record            @       google-site-verification...         Automatic
URL Redirect Record   @       http://www.example.com/ Unmasked
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?


更新

这个问题似乎是由于Namecheap造成的.我在Heroku上找到了以下票:

问题

用户无法将其根域(也称为顶点域/裸域)指向其Heroku应用程序,无论是设置正确的DNS记录还是通过HTTPS访问它.

解析度

Heroku上的根域需要使用"CNAME-like"记录,通常称为ALIAS或ANAME记录.

不幸的是,GoDaddy,Namecheap,Bluehost等许多流行的DNS主机都不支持这些类型的记录.相反,他们倾向于提供以下内容:

  • 一个记录

  • URL重定向/转发

有这两个选项的警告......

令人惊讶的是,我没有找到任何清楚解释所有步骤的地方.到目前为止我所做的是:

  1. 使用支持此功能的DNS主机打开一个帐户.我拿了DNSimple.在撰写本文时,价格从5欧元/月开始,但免费试用一个月.
  2. 转移域名费用为14欧元/年,因此我只是将Namecheap的名称服务器指向DNSimple,并将域名添加到DNSimple以创建DNS记录.
  3. 然后是DNSimple上的配置.我按照文档中的步骤1 将HTTP重定向到HTTPs ; 由于Heroku的ACM已经完成了它,所以忽略了第2步; 对于第3步,指向Domain Apex到Heroku的文章非常有帮助.我手动ALIAS record添加了一个,我还添加了一条CNAME记录,如下所示:

    Type        Name                   Content
    ?????       ???????????????        ???????????????????????
    ALIAS       example.commyapp.com.herokudns.com
    CNAME       www.example.commyapp.com.herokudns.com
    
    Run Code Online (Sandbox Code Playgroud)

开始时没有任何工作,浏览器显示以下错误:

无法访问此网站

无法找到www.example.com的服务器IP地址.

检查麻烦的文件我看到唯一的可能性是Name server propagation delay,所以我等了.这感觉好像很长一段时间,但实际上只需不到一个小时,直到该网站再次上线.

但是,SSL认证在48小时后仍然失败......

J0A*_*NMM 5

供将来参考:联系Heroku支持人员后,他们手动刷新了我的证书申请,并最终为我的应用程序颁发了证书...