我在 Heroku 上有一个应用程序,我购买了自己的证书,有效期为 myapp.mydomain.de。我使用他们的插件 SSL Endpoint 将其添加到 Heroku。
我有一个 CNAME 记录,从 myapp.mydomain.de 重定向到 myapp.herokuapp.com。
但是,当我访问我的 myapp.mydomain.de 时,证书仍然是 Heroku 颁发的证书,而不是我自己的。
当我执行 heroku certs:info 时,我只看到我自己的证书。
$ curl -kvI https://myapp.mydomain.de
* Rebuilt URL to: https://myapp.mydomain.de/
* Hostname was NOT found in DNS cache
* Trying 23.23.143.170...
* Connected to myapp.mydomain.de (23.25.144.170) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
* Server certificate: *.herokuapp.com
* Server certificate: DigiCert SHA2 High Assurance Server CA
* Server certificate: DigiCert High Assurance EV Root CA
> HEAD / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: myapp.mydomain.de
> Accept: */*
$ heroku certs -a myapp
Endpoint Common Name(s) Expires Trusted
------------------------ ------------------------------------------------------------------------------------------------------ -------------------- -------
osaka-2491.herokussl.com m.mydomain.de,myapp.mydomain.de 2017-02-09 23:59 UTC True
$ heroku certs:info --> 看起来也不错
知道为什么吗?
PS myapp.de 不是真正的域名,只是一个例子
答案1
不知道您是否这样做了,但您必须使用以下命令将带有私钥的证书上传到端点:
heroku 证书:添加 server.crt server.key
并检查是否可以:heroku certs
如果不对,则说明您的证书有问题,请使用 vim 或记事本进行编辑,检查证书内部内容。