Nginx

Nginx 啟動失敗 ssl 沒有這樣的文件或目錄

  • May 12, 2020

這是我得到的錯誤:

重新載入 nginx 配置: nginx:

$$ emerg $$ SSL_CTX_use_certificate_chain_file("/path/to/cert.pem") 失敗(SSL:錯誤:02001002:系統庫:fopen:沒有這樣的文件或目錄錯誤:20074002:BIO 常式:FILE_CTRL:系統庫錯誤:140DC002:SSL 常式:SSL_CTX_use_certificate_chain_file :system lib) nginx: 配置文件 /etc/nginx/nginx.conf 測試失敗

我 100% 確定該文件位於該位置,但 Nginx 似乎認為它不存在。我按該順序手動合併了domain.crtand 。intermediate.crt我整天都在為這個問題撓頭。我希望有人已經看到了這個錯誤並有一個解決方案。(附帶說明,在“沒有這樣的文件或目錄”之後,文件位置只顯示一次而不是再次顯示,這不是錯誤)。

您確定 Nginx 使用者有權訪問該目錄嗎?

還要檢查.pem文件的權限,如果 Nginx 無法訪問它,它可以顯示為'no such file or directory'.

如果權限正確,您可能會再次檢查實際路徑。你如何粘貼它(我知道你刪除了目錄)沒有/可能是問題的開始。

編輯

嘗試將您的 SSL 設置移動到以下結構中(以及更改nginx.conf以反映):

sudo mkdir /etc/nginx/ssl
sudo chown -R root:root /etc/nginx/ssl
sudo chmod -R 600 /etc/nginx/ssl

Nginx 可能會失敗,.pem因為權限太開放(需要原始碼來驗證 Nginx 是否這樣做)但上述設置應該可以正常工作。

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