我使用Heroku部署我的应用程序,我使用GoDaddy购买我的自定义域名,我从他们那里购买了我的SSL证书。
让我们调用我的应用程序example-101.herokuapp.com的heroku托管版本 让我们调用我的自定义域名我拥有mycustomdomain.com
我试图通过heroku设置我的GoDaddy购买的SSL证书,并按照步骤7中的所有步骤进行操作: http://www.joshwright.com/tips/setup-a-godaddy-ssl-certificate-on-heroku
一切似乎都很好。当我查看我的Heroku GUI时,在我的设置例如-101.herokuapp.com,在“自定义域名”下面列出 www.mycustomdomain.com 和 mycustomdomain.com ,每个都分别有DNS目标 mycustomdomain.com.herokudns.com 和 www.mycustomdomain.com.herokudns.com 。
当我在终端跑步时:
curl -kvI https://www.mycustomdomain.com
输出显示为“已连接”,它“成功设置证书验证位置”,并且在所有握手之后它显示“SSL证书验证确定。”
现在,我担心这可能是我的问题。
在GoDaddy中,在mycustomdomain.com的DNS管理下,我按照heroku说明创建了一条新记录,如下所示: 输入:CNAME 姓名:www 值:example-101.herokuapp.com TTL:1小时
但这是基于没有考虑添加SSL证书的文档。
当我跑步时
heroku certs
它给了我以下内容: 名称:brachiosaurus-94028 常用名称:www.mycustomdomain.com,mycustomdomain.com 信任:真的 类型:SNI
我应该在任何地方引用brachiosaurus-94028吗?
当我实际尝试在浏览器中访问www.mycustomdomain.com时,它读取的错误是NET :: ERR_CERT_COMMON_NAME_INVALID,并且在详细信息中,它表示主题是* .herokuapp.com 这是问题吗?当它应该指向herokussl.com或那种性质的东西时,它指向herokuapp.com?
如果您对此不起作用有任何见解,请告诉我。
另外,我只是在一个小时前完成所有这些工作。在它正常工作并且浏览器识别SSL证书之前需要一两天吗?我是在寻求帮助吗?
答案 0 :(得分:4)
Heroku有一个新的ssl实现:https://devcenter.heroku.com/articles/ssl
提问者似乎正在使用这个新实现。对于此实施,您需要将DNS管理中的CNAME
设置为mycustomdomain.com.herokudns.com
。在您的情况下,您无需引用证书名称brachiosaurus-94028
。
答案 1 :(得分:1)
我联系了heroku支持,我的问题已解决。
2,然后,检查heroku DNS目标是否与namecheap主机值相同。
3,重新启动ACM(ssl)
4,您需要等待几分钟才能检查网站。
答案 2 :(得分:0)
当您向Heroku添加SSL插件时,它会生成一个新域,您应该将其用作CNAME值,并且它不再是原始的herokuapp.com。 heroku certs
命令应该为您提供应该使用的域,其结尾为herokussl.com
在您的情况下,您可能应该将CNAME的值设置为brachiosaurus-94028.herokussl.com
(您可以在浏览器上测试端点以查看它是否有效)。
它也不应该花费太多时间来工作(当我这样做时,它总是立刻)
有关详细信息,请查看Heroku docs
答案 3 :(得分:0)
就我而言,遇到此错误是因为我的 DNS 记录将 app-name.herokuapp.com 指定为 CNAME 的目标,而不是提供的 DNS 目标。更新您的 DNS 记录以指向正确的 DNS 目标。
要获得正确的 DNS 目标,请在 cli 中运行 heroku 域,它会显示如下内容:
=== app-name 自定义域
域名 DNS 记录类型 DNS 目标
api.myapp.io CNAME strong-tick-i29i319i39121321.herokudns.com