證書更新方式
clmBot 支援兩種證書更新方式,可以依伺服器網路環境分別選擇:
| 更新方式 | 工作模式 | 連接埠要求 | 適用場景 |
|---|---|---|---|
| 雲端推送 | 管理後台發起推送,clmBot 服務端接收並更新 | 需開放 8862/tcp 入站連接埠 | 網路策略允許、希望更新即時生效 |
| 定時拉取 | clmBot 定時檢查雲端是否有新證書並自動更新 | 無需開放入站連接埠 | 無法開放入站連接埠的伺服器(建議預設方式) |
兩種方式互不衝突,同一批伺服器中可以部分使用推送、部分使用定時拉取。
方式一:雲端推送
在伺服器上啟動 clmBot 服務端
./clm-bot-linux-amd64 server -a="0.0.0.0:8862"
-a 指定監聽位址和連接埠,預設為 0.0.0.0:8862。啟動後 clmBot 將作為伺服器端常駐執行,等待雲端推送。
注意
- 需要在伺服器防火牆和雲安全群組中開放
8862/tcp入站連接埠。 - clmBot 伺服器端對雲端推送連線啟用雙向 TLS 驗證,僅接受已完成接入啟用的節點推送憑證。
如不希望開放入站連接埠,請使用方式二:定時拉取。
資訊
clmBot 伺服器端需要保持執行才能接收推送。正式環境建議將其註冊為系統服務並設定開機自動啟動,參見 服務化部署與升級。
在管理後台推送憑證
登入管理後台,進入安裝點列表,找到目標安裝點並點擊 推送憑證,確認後系統將最新的憑證推送到伺服器並自動完成更新。
方式二:定時拉取
定時拉取模式無需開放入站連接埠,由 clmBot 定時執行更新檢查,是建議的預設方式。
Linux:設定 crontab
將 clmBot 更新命令加入 crontab:
crontab -e
新增一行(每天凌晨 3 點執行證書更新檢查):
0 3 * * * cd /opt/clm-bot && ./clm-bot-linux-amd64 update-certificate >> update.log 2>&1
注意
- 命令中必須先
cd到 clmBot 安裝目錄再執行,因為 clmBot 預設從目前目錄讀取config.yaml。 - 也可以不切換目錄,透過
-c參數指定設定檔路徑:./clm-bot-linux-amd64 -c /opt/clm-bot/config.yaml update-certificate。 - 請將路徑替換為實際安裝目錄。
執行輸出會追加到 update.log,同時 clmBot 會在設定檔所在目錄的 logs/clm-bot.log 中記錄執行日誌。
Windows:設定排程工作
在 Windows 伺服器上建立排程工作,定時執行:
cd /d C:\clm-bot && clm-bot-windows-amd64.exe update-certificate >> update.log 2>&1
建立完成後,可以右鍵任務選擇執行進行驗證,然後在安裝目錄下查看日誌確認執行結果。
憑證自動重簽與更新
clmBot 更新的憑證來自雲端自動重簽。登入管理後台,進入 SSL 憑證詳情頁,在自動重簽設定中選擇或輸入重簽週期(如 30 天)並儲存。
設定後的整體效果:
- 憑證到期前,雲端按重簽週期自動完成重簽,產生新憑證。
- clmBot 依設定的方式(推送或定時拉取)取得新憑證。
- clmBot 對本機憑證執行更新:
- 本機憑證與雲端最新憑證一致時,略過更新。
- 不一致時,自動備份本機憑證檔案(產生含時間戳記的
.bak備份),依序執行before_script、寫入新憑證、執行after_script完成服務重新載入。
提示
如需在不更新憑證的情況下強制執行一次 after_script(例如偵錯重新載入指令碼),可以使用 --force-after 參數。