【发布时间】:2016-07-19 00:46:24
【问题描述】:
我的注册商 gandi 给了我一个中间证书来安装,所以我有 3 个文件:
- 私钥文件(server.key)
- 证书文件 (mycert.crt)
- 中级证书 (GandiSomething.pem)
我在 heroku 上使用SSL Beta 服务。 heroku CLI heroku _certs:add 正好有两个参数,CRT 和 KEY。如何安装中间证书?
【问题讨论】:
我的注册商 gandi 给了我一个中间证书来安装,所以我有 3 个文件:
我在 heroku 上使用SSL Beta 服务。 heroku CLI heroku _certs:add 正好有两个参数,CRT 和 KEY。如何安装中间证书?
【问题讨论】:
Paul 是对的,你可以合并证书:
cat ssl.crt middle.crt root.crt > all.crt
请确保证书文件末尾的换行符!
然后将其上传到 Heroku(如果您还没有 SSL Endpoint,请使用 add):
heroku certs:update --app $YOUR_APP --confirm $YOUR_APP all.crt private.key
但有些技巧你并没有忘记:
<app>.herokuapp.com 更改为安全<domain>.herokudns.com(请注意,如果您有*.your.domain 记录,它可以捕获请求并将其转发到另一台服务器)【讨论】:
这里的解决方案是将中间证书和生成的证书合并到一个文件中,如here 所述。由于该链接不明确,因此合并后的证书文件应如下所示:
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
wfsm5p9GJKaxB825DOgNghYAHZaS/KYIoA==
-----END CERTIFICATE-----
然后,这个命令就会起作用:
heroku _certs:add --app name-of-my-app file-with-combined-certs.crt myserver.key
【讨论】:
只需将其作为参数传入即可。把中间物放在中间,它把它作为另一个参数。然后检查 heroku 证书,如果它不起作用,请报告。
【讨论】: