Nginx 上的 SSL 抛出错误(SSL:错误:0908F066:PEM 例程:get_header_and_data:错误的结束行)

Sar*_*pta 6 linux ubuntu ssl nginx

我从 SSLforFree/ZeroSSL 生成了我的 SSL,并根据他们网站上列出的安装步骤,https: //zerossl.com/help/installation/nginx/

  1. 下载了 SSL 文件
  2. 将它们移至服务器
  3. 将 certificate.crt & ca_bundle.crt 与 ( cat certificate.crt ca_bundle.crt >> certificate.crt)合并
  4. 在 nginx 的 hosts 文件中添加了以下几行:
    ssl on;
    ssl_certificate /etc/ssl/certificate.crt;
    ssl_certificate_key /etc/ssl/private.key;
  5. 使用 ( sudo service nginx restart)重新启动 Nginx 服务器
  6. 收到错误,并通过(journalctl -xe)检查错误详细信息
  7. 错误是:
    nginx: [emerg] PEM_read_bio_X509_AUX
    (SSL: error:0908F066:PEM routines:get_header_and_data:bad end line)

Sar*_*pta 12

合并文件cat certificate.crt ca_bundle.crt >> certificate.crt, 合并文件而不在其中添加任何下一行字符。合并文件后,打开新建的文件certificate.crt,可以看到文件结构如下:
-----BEGIN CERTIFICATE-----
certificate-1-text
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
certificate-2-text
-----END CERTIFICATE-----

如果您的证书看起来像这样,您可以通过在第二个开始证书的 5 个连字符之前添加一个新行字符来解决此问题,即,编辑后应如下所示:
-----BEGIN CERTIFICATE-----
certificate-1-text
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
certificate-2-text
-----END CERTIFICATE-----