Heroku SSL:安装中间证书?
Posted
技术标签:
【中文标题】Heroku SSL:安装中间证书?【英文标题】:Heroku SSL: install intermediate cert? 【发布时间】:2016-07-19 00:46:24 【问题描述】:我的注册商 gandi 给了我一个中间证书来安装,所以我有 3 个文件:
-
私钥文件(server.key)
证书文件 (mycert.crt)
中级证书 (GandiSomething.pem)
我在 heroku 上使用SSL Beta 服务。 heroku CLI heroku _certs:add
正好有两个参数,CRT 和 KEY。如何安装中间证书?
【问题讨论】:
【参考方案1】: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
但有些技巧你并没有忘记:
-
更新您的 DNS CNAME 记录。将目标从
<app>.herokuapp.com
更改为安全<domain>.herokudns.com
(请注意,如果您有*.your.domain
记录,它可以捕获请求并将其转发到另一台服务器)
检查 证书链 是否正常工作:SSL Checker
刷新本地 DNS:Flush DNS tips(防病毒软件也可以修补和缓存您的连接)
重新启动您的浏览器(同时刷新浏览器的缓存)
通过 https:// 连接使用浏览器检查您的应用
【讨论】:
【参考方案2】:这里的解决方案是将中间证书和生成的证书合并到一个文件中,如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
【讨论】:
我的看起来像这样..按照接受的答案发布,并在我的证书上做 cat ..证书之间没有换行符应该是一个问题吗? -----开始证书----- MIIFajCCBFKgAwiBAgIQYIe2ygXshm+UppXSPTQtCDANBgkqhkiG9w0BA-----结束证书----------开始证书----- MIIETTAwiIBAgIDAjpxMA0GCSqGSIb3DQEBCwUAMEIxCzAJBg -----结束证书--- --【参考方案3】:只需将其作为参数传入即可。把中间物放在中间,它把它作为另一个参数。然后检查 heroku 证书,如果它不起作用,请报告。
【讨论】:
这不起作用,命令给出: ▸ 用法:heroku _certs:add CRT KEY ▸ 你给这个命令太多的参数。在没有这些额外参数的情况下再次尝试该命令。 你需要做的是像here这样结合中间证书。将其作为第一个证书参数包含在内。 哇,这是很久以前的了。很高兴我能帮上忙。以上是关于Heroku SSL:安装中间证书?的主要内容,如果未能解决你的问题,请参考以下文章