Skip to content
此頁面由 AI 翻譯,內容可能有疏漏。歡迎到 GitHub 協助改進。

Gately v0.6.3 發布 ​

2026 年 11 月 2 日

下載 v0.6.3 · GitHub Release

效能監控(#59) ​

新增「效能監控」模組,背景每 5 秒採集一次主機 CPU、記憶體、磁碟、負載與 Gately 處理程序的 CPU、記憶體、檔案描述符、協程數:

  • 頁面依 60 秒 / 1 小時 / 24 小時顯示趨勢,旁邊是執行中站點的進行中請求、每秒請求數、5xx 比例、首位元組延遲 P95 與後端健康狀態,點選站點即可開啟站點統計;
  • Web 站點開始統計首位元組延遲(從收到請求到送出回應標頭),站點統計新增 P50 / P95 曲線,Prometheus 新增 gately_site_request_duration_seconds 以及 gately_host_*、gately_process_* 指標,Grafana 面板同步新增;
  • 告警規則選擇指標、比較方式與閾值,再設定持續時間(1~1440 分鐘),條件持續滿足整段時間才觸發,恢復時另發通知;5xx 比例與延遲可設定最少請求數,流量太少時不判斷。告警經通知中心發送,沒有通知規則訂閱時頁面會提示。

歷史資料只保存在記憶體中,重新啟動後重新累計。詳見 效能監控。

WAF 接入雷池(SafeLine) ​

WAF 執行個體可以把請求交給自建的雷池社群版偵測引擎做語意分析,不需要在 Gately 前後再加一層反向代理:

  • 填寫偵測引擎位址(host:port,或 unix: 加 snserver.sock 路徑),「測試連線」會送出心跳與一條範例 SQL 注入,顯示往返耗時與雷池記錄的事件 ID;
  • 雷池先於規則組執行,只用雷池時可以不選規則組;「僅偵測」模式只記錄不攔截;
  • 攔截計入 WAF 計數、WAF 日誌(含事件 ID)、存取日誌、站點統計與入侵防護;
  • 可設定偵測逾時(預設 1 秒)、送檢內容上限(預設 1024 KB,超出部分原樣轉發)以及引擎不可用時放行或回傳 503(預設放行)。

詳見 WAF 防火牆 · 使用雷池。

批次操作(#57) ​

列表的「排序」模式改為「排序與批次」,勾選後可以批次啟用、停用和刪除,刪除前列出名稱確認。Web 服務站點可以跨監聽勾選,批次增刪網域、取代主網域後綴(old.com → new.com 同時改寫 www.old.com 與 *.old.com),以及批次修改壓縮、存取日誌、CORS、轉發標頭、拒絕時中斷連線與 WAF 引用;沒改的選項保留各站點原值。整批先驗證再一次儲存,任何一項失敗都不生效,只重新載入受影響的監聽,不中斷現有連線。介面為通用的 PUT <路徑>-enable、POST <路徑>-delete 與 POST /api/webservice/sites/batch。

STUN 自動放行防火牆連接埠 ​

STUN 規則新增「自動放行防火牆」:開啟後 Gately 在本機防火牆放行穿透連接埠(設定了 UPnP / NAT-PMP 內部連接埠時一併放行),規則停止或刪除時移除。支援 nftables(OpenWrt fw4、firewalld)與 iptables(fw3、ufw),防火牆重新載入後 30 秒內自動補回,規則卡片顯示放行結果或失敗原因。詳見 STUN 穿透。

修正泛解析 CNAME 導致的簽發失敗(#61) ​

網域有 *.example.com 指向 example.com 這類泛解析時,_acme-challenge 也會解析出 CNAME,DNS-01 驗證記錄被寫到 @,CA 回報找不到 TXT 記錄。現在 Gately 自行判斷:明確設定的 CNAME 仍然跟隨,便於把驗證委派到其他網域;泛解析產生的 CNAME 會被識別出來,記錄寫在 _acme-challenge.<網域>。憑證還新增「不跟隨 _acme-challenge 的 CNAME」選項。詳見 SSL 憑證。

Web 服務日誌(#62) ​

  • 存取日誌記錄攔截原因(封鎖、IP 名單、國家、限流、WAF),帶有本執行個體管理後台登入狀態的請求記錄後台使用者名稱;
  • 日誌頁新增「隱藏被封鎖來源」(預設關閉,觸發封鎖的請求仍可見,便於稽核)與「隱藏後台自身請求」(預設開啟),只影響顯示,日誌照常保存;
  • IP 篩選支援以 ! 或 - 開頭的排除項,可寫位址、網段或部分位址。

其他改進 ​

  • 網路拓撲新增「篩選」:依監聽、只看有問題的節點、依攔截原因篩選站點;遮蔽新增「代號」樣式,把位址整體替換成 Visitor-01、Backend-01 這類編號(#54);
  • README 巡覽影片直接從介紹頁開始播放;
  • 相依套件更新:go-jose 升級到 v4.1.7、klauspost/compress 升級到 v1.18.7。

修正與強化 ​

  • WAF 站點的後端自己回傳 403 時不再被當成 WAF 攔截:此前會計入攔截次數並發出 waf.blocked 事件,訂閱 WAF 攔截的入侵防護規則可能因此封鎖正常訪客;
  • 「隱藏後台自身請求」只認管理員工作階段,唯讀帳號的登入 Cookie 不能用來給請求打上後台標記;被攔截的請求不帶後台標記;
  • 批次操作在去重前先限制提交數量;批次設定的 WAF 執行個體不存在時拒絕儲存;
  • 同一主機上執行多個 Gately 時,自動放行的防火牆規則按執行個體區分,不會互相刪除。

升級提示 ​

  • Docker 拉取新映像後重建容器,已掛載 Docker 通訊端的也可以在 Gately 的 Docker 頁面直接升級 Gately 自身;OpenWrt 覆蓋安裝新的 .apk / .ipk;飛牛在應用中心手動安裝新版 .fpk;其他部署方式可在「系統設定」中線上升級。

以 Apache-2.0 授權條款開源發布。