Nginx

nginx 配置因 SSL 密鑰/pem 失敗(特殊情況)

  • March 20, 2019

我正在嘗試使用經過認證的 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_certificatessl_certificate_key

那是:

...
ssl on;
ssl_certificate      conf.d/cert.pem;
ssl_certificate_key  conf.d/cert.pem;
...

引用自:https://serverfault.com/questions/571377