跳至主要内容

證書更新方式

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 天)並儲存。

設定後的整體效果:

  1. 憑證到期前,雲端按重簽週期自動完成重簽,產生新憑證。
  2. clmBot 依設定的方式(推送或定時拉取)取得新憑證。
  3. clmBot 對本機憑證執行更新:
  • 本機憑證與雲端最新憑證一致時,略過更新。
  • 不一致時,自動備份本機憑證檔案(產生含時間戳記的 .bak 備份),依序執行 before_script、寫入新憑證、執行 after_script 完成服務重新載入。
提示

如需在不更新憑證的情況下強制執行一次 after_script(例如偵錯重新載入指令碼),可以使用 --force-after 參數。