v0.1.0

SSL 憑證到期

本頁說明 go-web-monitor 如何取得 SSL 憑證剩餘天數,以及表格中的顏色門檻。

取得方式

util.CheckExpire()(internal/util/ssl.go:11)在 HTTP 請求有回應後執行:

  1. 從網址去掉 https:// 前綴,取第一個 / 之前的字串當作主機名稱。
  2. 以 tls.Dial 連線 <host>:443,使用系統預設的憑證驗證。
  3. 讀取對方送出的第一張憑證(葉憑證)的 NotAfter。
  4. 剩餘天數 = NotAfter 距今的小時數 ÷ 24,無條件捨去為整數。

任何一步失敗都回傳 0,表格顯示 N/A。

顏色門檻

剩餘天數 表格顯示 顏色
> 30 N Days 綠
8–30 N Days 黃
1–7 N Days 紅
0 或無法取得 N/A 紅

到期天數只顯示在表格中,不會觸發 Email 告警;告警只針對離線(見 告警規則)。

取不到憑證的情況

情況 原因
以 http:// 監控的網站 前綴 http:// 不會被去除,主機名稱解析成 http:,連線失敗
網址帶自訂埠(如 https://example.com:8443) 主機名稱含埠號,再接上 :443 後位址無效;憑證一律只從 443 埠取得
憑證驗證失敗(自簽、過期、主機名稱不符) tls.Dial 使用預設驗證,驗證失敗即回傳錯誤
HTTP 請求本身失敗 不會執行 SSL 檢查
EN