我正在尝试使用来自 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”验证配置。
希望能帮助到你。