Heroku SSL:安装中间证书



我的注册商gandi给了我一个要安装的中间证书,所以我有3个文件:

  1. 私钥文件(server.key)
  2. 证书文件(mycert.crt)
  3. 中级证书(GandiSomething.pem)

我在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

但有一些技巧你不会忘记:

  1. 更新您的DNS CNAME记录。将目标从<app>.herokuapp.com更改为安全的<domain>.herokudns.com(请注意,如果您有*.your.domain记录,它可以捕获请求并将其转发到另一台服务器)
  2. 检查证书链是否正常工作:SSL检查器
  3. 刷新本地DNS:刷新DNS提示(防病毒软件也可以修补和缓存您的连接)
  4. 重新启动浏览器(同时刷新浏览器的缓存)
  5. 通过https://连接使用浏览器检查您的应用程序

这里的解决方案是将中间证书和生成的证书合并到一个文件中,如下所述。因为这个链接是可疑的,下面是合并后证书文件的样子:

-----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证书,如果不起作用则报告。

最新更新