Nginx ssl-SSL:错误:0906D06C:PEM 例程:PEM_read_bio:无起始行

Nginx ssl-SSL:错误:0906D06C:PEM 例程:PEM_read_bio:无起始行

我正在尝试使用来自 123-reg 的证书在服务器上启用 SSL,但一直收到此错误:

nginx: [emerg] SSL_CTX_use_certificate_chain_file("/opt/nginx/conf/cleantechlms.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib)

这是我的 nginx 配置:

server {
  listen 443;
  server_name a-fake-url.com;
  root /file/path/public;   
  passenger_enabled on;

  ssl on;
  ssl_certificate /opt/nginx/conf/cleantechlms.crt;
  ssl_certificate_key /opt/nginx/conf/cleantechlms.key;
 }

我已尝试将我的 crt 和 key 设置为完整文件权限,但没有任何区别。

我的 crt 文件是我发出的 crt 与 ca crt 连接起来的。

更新

我尝试将两个密钥复制到单独的文件中,然后运行“cat mykey.crt >> ca.cert”

我也尝试手动将密钥复制到同一个文件中。

有任何想法吗?

答案1

谢谢您的帮助,我是这样解决的:

  • 将证书复制到文本编辑器中,以确保没有空格(我已经这样做了)

  • 确保证书声明的开始和结束各占一行,并且每端都有相同数量的“-”。

  • 确保每行有 64 个字符(最后一行除外)

答案2

我最终遇到了同样的异常,并通过在同一个 pem 文件(pem 格式)中添加私钥(末尾为 x.509 + privatekey)解决了该问题。我认为这是因为我以前使用过相同的格式并使用“nignx -t”验证配置。

希望能帮助到你。

相关内容