Heroku SSL:安装中间证书?

时间:2016-07-19 00:46:25

标签: ssl heroku https

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

  1. 私钥文件(server.key)
  2. 证书文件(mycert.crt)
  3. 中级证书(GandiSomething.pem)
  4. 我在heroku上使用SSL Beta服务。 heroku CLI heroku _certs:add只有两个参数,CRT和KEY。如何安装中间证书?

3 个答案:

答案 0 :(得分:12)

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

cat ssl.crt middle.crt root.crt > all.crt

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

并将其上传至 Heroku (如果您还没有 SSL端点,请使用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 Checker
  3. 刷新本地DNS:Flush DNS tips(防病毒软件也可以修补和缓存连接)
  4. 重新启动您的浏览器(以便刷新浏览器的缓存)
  5. 通过 https:// 连接
  6. 在浏览器中检查您的应用

答案 1 :(得分:6)

这里的解决方案是将中间证书和生成的证书合并到一个文件中,如here所述。因为该链接是阴暗的,所以这里是cert文件组合后应该看起来的样子:

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

答案 2 :(得分:0)

将其作为参数传递。将中间体放在中间,它将它作为另一个参数。然后检查heroku证书并报告它是否无效。