Heroku SSL端点问题

bre*_*ent 5 ssl openssl heroku

我正在尝试向Heroku添加SSL证书.该证书是从Network Solutions购买的.我完成了所有步骤并创建了一个.csr文件,将该文件上传到NetworkSolutions,下载了他们的.crt文件包(MYSITE.crt,AddTrustExternalCARoot.crt,NetworkSolutionsDVServerCA.crt),然后合并了站点证书和中间证书(AddTrustExternalCARoot.crt)包.当我尝试将我生成的final.crt文件添加到Heroku时,我得到:

!    Expires at can't be blank
!    Pem is invalid
Run Code Online (Sandbox Code Playgroud)

使用预览我可以清楚地看到"无效后"设置,所以我不确定这里发生了什么.

为了它的价值,我还尝试将NetworkSolutionsDVServerCA.crt与MYSITE.CRT相结合,并将所有3组合在一起.所有这些都没有运气.

这种事情不是我的强项(我相信你可以告诉)所以它很可能我错过了一些东西,但如果你对它可能是什么有任何想法我会很感激.

谢谢

小智 12

我今天遇到了同样的问题.

以下是我修复它的步骤.

  1. 将证书文件按以下顺序(从站点证书到根证书)合并到.crt或.pem文件中.让我们假设你给它命名Mysite_combined.crt.

    MySite.crt,NetworkSolutionsDVServerCA.crt,AddTrustExternalCARoot.crt

  2. 打开Mysite_combined.crt文件的内容会是这样的

    -----BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE----------BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE----------BEGIN CERTIFICATE-----
    
    Run Code Online (Sandbox Code Playgroud)

现在,在每个证书之间插入换行符.确保编辑的文件中没有空格或空白行.内容现在应该是这样的

-----BEGIN CERTIFICATE-----
..
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
..
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
  1. 现在使用该命令将证书添加到Heroku

    heroku证书:添加Mysite_combined.crt Mysite.key

注意:由于网络解决方案证书没有密码,您可以忽略删除heroku站点中的密码的步骤.如果您使用具有密码的密钥,请参阅本文,其中详细介绍了如何为heroku设置SSL.在任何情况下,您都应该执行上面的步骤2.