Heroku SSL:安装中间证书?

Pau*_*ald 5 ssl https heroku

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

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

我在heroku上使用SSL Beta服务.heroku CLI heroku _certs:add只有两个参数,CRT和KEY.我该如何安装中间证书?

Den*_*din 12

保罗是对的,你可以结合证书:

cat ssl.crt middle.crt root.crt > all.crt
Run Code Online (Sandbox Code Playgroud)

确保在证书文件末尾有新行!

并将其上传到Heroku(add如果您还没有SSL端点,请使用):

heroku certs:update --app $YOUR_APP --confirm $YOUR_APP all.crt private.key
Run Code Online (Sandbox Code Playgroud)

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

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


Pau*_*ald 6

这里的解决方案是将中间证书并且将所生成的证书合并为一个文件,如所描述这里.因为该链接是阴暗的,所以这是一旦组合后cert文件的外观:

-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
wfsm5p9GJKaxB825DOgNghYAHZaS/KYIoA==
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

然后,此命令将起作用:

heroku _certs:add --app name-of-my-app file-with-combined-certs.crt myserver.key