【问题标题】:Heroku SSL: install intermediate cert?Heroku SSL:安装中间证书?
【发布时间】:2016-07-19 00:46:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: ssl heroku https


    【解决方案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
    

    但有些技巧你并没有忘记:

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

    【讨论】:

      【解决方案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这样结合中间证书。将其作为第一个证书参数包含在内。
      • 哇,这是很久以前的了。很高兴我能帮上忙。
      猜你喜欢
      • 2016-08-19
      • 2016-08-30
      • 2013-02-09
      • 1970-01-01
      • 2015-08-20
      • 2017-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多