報錯:CertificateFile: file '/etc/letsencrypt/live/域名/fullchain.pem' does not exist or is empty

寶塔部署sll證書報錯CertificateFile: file ‘/etc/letsencrypt/live/域名/fullchain.pem‘ does not exist or is empty_SSL


🔧 基礎排查與快速修復

  • 關閉後重新部署SSL證書:在寶塔面板中找到對應站點的SSL設置,先關閉SSL證書功能,然後重新提交部署,此操作可能直接解決問題1
  • 檢查並清理舊配置文件:如果之前為網站配置過SSL,舊的配置文件可能產生衝突。建議備份後,刪除該站點舊的SSL配置文件,並關閉SSL,然後重新為每個網站添加證書2
  • 核對證書文件路徑:確保證書文件(如fullchain.pemprivkey.pem)確實存在於指定的路徑/etc/letsencrypt/live/你的域名/下。如果文件不存在,需要重新申請或放置證書文件14

🔍 針對證書申請失敗的處理

如果在申請Let's Encrypt證書時失敗,並伴隨"域名解析錯誤或驗證URL無法被訪問"的提示,問題可能出在Nginx配置未能正確服務於ACME挑戰文件3

  • 修改Nginx配置:編輯站點的Nginx配置文件,在server塊內添加以下配置,以確保證書頒發機構的驗證程序能訪問到驗證文件:
location ^~ /.well-known/acme-challenge/ {
    default_type "text/plain";
    root /www/wwwroot/你的網站目錄;
}

添加配置後,重載Nginx服務,並重新申請證書3

📁 手動更新證書文件(針對證書續期或不生效)

在寶塔面板中更新證書信息後,如果網站仍未使用新證書,可能是因為證書文件沒有在磁盤上實際更新。

  • 定位證書存儲目錄:新版寶塔面板(如6.8.9之後)的證書可能存儲在/www/server/panel/vhost/cert/目錄。
  • 手動替換文件內容:分別打開新下載的證書文件(如.pem.key),將其全部內容複製,並粘貼到寶塔文件管理器中對應域名的證書文件裏,覆蓋舊內容並保存。
  • 最終重啓服務:完成文件修改後,務必在寶塔面板中重啓Nginx或Apache服務,使更改生效。

完成以上操作後,建議清除瀏覽器緩存再訪問網站,確認HTTPS連接是否恢復正常。