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:安装中间证书?的主要内容,如果未能解决你的问题,请参考以下文章

百度云部署SSL证书

F5部署SSL证书

根证书和中间证书的区别

中间证书的使用

有了解ssl证书原理的吗?为啥要给网站安装ssl证书呀?

SSL中的中间证书