Nginx
nginx 配置因 SSL 密鑰/pem 失敗(特殊情況)
我正在嘗試使用經過認證的 ssl 密鑰在我的 nginx 反向代理上安裝 SSL,但是當我嘗試重新啟動伺服器時收到此消息:
Restarting nginx: [emerg]: SSL_CTX_use_PrivateKey_file("/etc/nginx/conf.d/cert.key") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib) configuration file /etc/nginx/nginx.conf test failed
everyfiles 是 root:root 具有 600 權限我已經測試了證書,並通過以下網站對其進行了驗證:http: //ssltools.com/cert_key_match
我的鍵中沒有尾隨奇怪的字元,每行有 64 個字元
這是我的配置文件
server { listen 443; server_name my.domain.com; ssl on; ssl_certificate conf.d/cert.pem; ssl_certificate_key conf.d/cert.key; location / { proxy_pass http://upstream1; proxy_redirect off; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
}
有任何想法嗎?謝謝
在這裡檢查
我希望你已經複製粘貼了以下幾行:
-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
可能適用於其他人的不同解決方案:
將
.pem
文件用於ssl_certificate
和ssl_certificate_key
那是:
... ssl on; ssl_certificate conf.d/cert.pem; ssl_certificate_key conf.d/cert.pem; ...