我从SSLforFree/ZeroSSL生成了我的SSL,并根据他们网站上列出的安装步骤,https://zerossl.com/help/installation/nginx/
- 下载了 SSL 文件
- 已将它们移动到服务器
- 将 certificate.crt & ca_bundle.crt 与 (
cat certificate.crt ca_bundle.crt >> certificate.crt
( 合并 - 在 nginx 的主机文件中添加了以下行:
ssl on;
ssl_certificate /etc/ssl/certificate.crt;
ssl_certificate_key /etc/ssl/private.key;
- 已使用 (
sudo service nginx restart
( 重新启动 Nginx 服务器 - 收到错误,并检查了错误详细信息 (
journalctl -xe
( - 错误为:
nginx: [emerg] PEM_read_bio_X509_AUX
(SSL: error:0908F066:PEM routines:get_header_and_data:bad end line)
将文件与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-----
我遇到了同样的问题。出错的是我在证书之前的代码之间有一行新行-----.我修复了一切正常。 但这帮助我排除故障。谢谢