9

我从 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)
4

1 回答 1

17

合并文件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-----

于 2020-06-22T12:52:44.427 回答