Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku SSL端点出现问题_Ssl_Heroku_Openssl - Fatal编程技术网

Heroku SSL端点出现问题

Heroku SSL端点出现问题,ssl,heroku,openssl,Ssl,Heroku,Openssl,我正在尝试向Heroku添加SSL证书。证书是从Network Solutions购买的。我完成了所有步骤,创建了一个.csr文件,将该文件上载到NetworkSolutions,下载了他们的.crt文件包(MYSITE.crt、AddTrustExternalCARoot.crt、NetworkSolutionsDVServerCA.crt),然后合并了站点证书和中间证书(AddTrustExternalCARoot.crt)包。当我尝试将生成的final.crt文件添加到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
使用预览,我可以清楚地看到设置了“之后无效”,所以我不确定这里到底发生了什么

为了实现它的价值,我还尝试将NetworkSolutionsDVServerCA.crt与MYSITE.crt结合起来&同时也将所有3个结合起来。都没有运气

这类事情不是我的强项(我相信你可以告诉我),所以我很可能错过了一些东西,但如果你有什么想法,我将不胜感激


谢谢

很可能是他们在将您的证书与中间人一起分类时出错了。您应该查看是否有丢失的换行符,或者可能导致错误的额外换行符。

我也有这个问题,在我的例子中,这是参数的顺序。显然,heroku实用程序希望.crt文件位于.key文件之前


换句话说:
heroku certs:add server.crt server.key

当我遇到此错误时,我必须在我的站点末尾添加一个换行符。crt然后运行此命令:

$ cat site.crt ca_bundle.pem > final.crt

我今天也面临同样的问题

下面是我修复它所遵循的步骤

  • 按以下顺序组合证书文件(从站点) 证书到根证书)转换为.crt或.pem文件。假设您将其命名为Mysite\u combined.crt

    MySite.crt、NetworkSolutionsDVServerCA.crt、AddTrustExternalCARoot.crt

  • 打开Mysite_combined.crt文件内容如下

    -----BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE----------BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE----------BEGIN CERTIFICATE-----
    
  • 现在,在每个证书之间插入换行符。确保编辑的文件中没有空格或空行。内容现在应该是

    -----BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    
  • 现在使用以下命令将证书添加到Heroku

    heroku证书:添加Mysite\u combined.crt Mysite.key


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

    不幸的是,情况并非如此。据我所知,这似乎是最常见的问题,但这似乎有点更深。昨天我花了太多时间想弄明白,所以这个周末我要试着从头开始。谢谢你的回复。你找到解决办法了吗?我遇到了同样的问题。发布对你有用的东西会有很大帮助。谢谢,我没有,我后来又去做了别的事情,我想我会回去的。你找到解决办法了吗?谢谢!工作得很好。如果Heroku能更新它的文档就好了!谢谢!我只是花了两个小时来解决同样的问题。组合文件中证书之间的换行是关键+1对于在合并这两个文件时更新Heroku docs.FYI,使用.crt可能比使用.pem更安全,尽管您提到过它应该以任何方式工作。。。。当我尝试时,pem heroku呕吐,但当我使用.crt时,它起作用了。它是完全相同的文件,因为我刚刚将.pem复制到一个新的.crt文件名。