lighttp 似乎正在緩存許可證文件,但不知道為什麼

lighttp 似乎正在緩存許可證文件,但不知道為什麼

我正在使用 certbot 為我的網站產生 SSL 憑證。我遇到了自動更新不起作用的問題(由於 cron 腳本錯誤和過時的 python2,現在已解決)。我的伺服器上現在有最新的許可證文件。

許可證文件位於 LetsEncrypt 下的存檔中,該數字似乎每次更新都會增加(fullchain3 是最新的):

root@mysite /etc/letsencrypt/live/mysite.com # ls -l ../../archive/mysite.com/ total 48K -rw-r--r-- 1 root root 3.4K Sep 8 2017 fullchain1.pem -rw-r--r-- 1 root root 3.5K May 8 17:02 fullchain2.pem -rw-r--r-- 1 root root 3.5K Jul 7 21:19 fullchain3.pem

符號連結指向最新版本,lighty 設定為追蹤該連結:

root@mysite /etc/letsencrypt/live/mysite.com # ls -l ../../live/mysite.com/fullchain.pem lrwxrwxrwx 1 root root 39 Jul 7 21:19 ../../live/mysite.com/fullchain.pem -> ../../archive/mysite.com/fullchain3.pem

然而,SSLLabs 告訴我我的憑證已過期,當我檢查許可證文件的序號時,結果發現它們正在取得 fullchain2.pem。

Lighty 已重新啟動。 mod-compress 正在運行,即使透過重新啟動,它也可以快取舊的憑證檔案嗎?如果是這樣我怎麼告訴它不要這樣做?如果不是,原因是什麼?

更新:我嘗試停止 lighty,清除快取目錄並重新啟動。相同的結果,相同的文件似乎被提供...

答案1

好的,問題解決了。

對於 lighty,更新憑證後需要執行額外的步驟。基本上,必須透過連接 cert 目錄中的兩個檔案來手動建立一個新檔案。請參閱下面的連結:

https://www.bytebang.at/Blog/Free+SSL+certificate+for+lighttpd+with+letsencrypt

如果不這樣做,lighty 的錯誤日誌將充滿「憑證過期」訊息。

(這裡不會給出完整的設定過程,但本質上,更新憑證後,您需要執行以下操作:

cat privkey.pem cert.pem > web.pem

應該與該行匹配

ssl.pemfile = "/etc/letsencrypt/live/mysite.com/web.pem"

在您的輕型配置中。

正如下面所指出的,實際上沒有必要使用帶有最新 lighty 的串聯文件,但我沒有更改我的(否則穩定的)配置,而是創建了一個簡單的 bash 腳本來管理證書更新並創建串聯文件:

#!/bin/bash

function update_web { cd $1 if [ web.pem -ot cert.pem ]; then echo updating web.pem in $1 cat privkey.pem cert.pem > web.pem fi }

/root/certbot/certbot-auto renew --no-self-upgrade update_web /etc/letsencrypt/live/mysite.com update_web /etc/letsencrypt/live/www.mysite.com

相關內容