責任切分:數秒內該做完什麼?
鏈路多是 GitHub/GitLab→HTTPS→Tunnel/反代→本機 Gateway;平台只給數秒。handler 請只做驗簽→入佇列→2xx,勿同步重活。分路與逾時欄位見 Tunnel+反代排錯。
驗簽:GitHub 與 GitLab 差在哪?
GitHub 用 X-Hub-Signature-256;GitLab 常見 X-Gitlab-Token。先 raw body 驗簽再解析 JSON。401 可能來自反代或 allowlist。
回調逾時:四層順序查
順序:平台 Delivery→反代 upstream 時間→Gateway 日誌→本機記憶體。多區對齊 UTC。
症狀對照
| 症狀 | 先懷疑 | 先看 |
|---|---|---|
| 502/504 | 反代 | read timeout、Tunnel 健康 |
| 握手慢、重連 | TLS/骨幹 | 憑證鏈、SNI、晚尖峰 RTT |
| 間歇變慢 | 本機 | swap、併發 job 尖峰 |
重試與幕等
5xx 會退避重試;請用 delivery id/X-GitHub-Delivery/GitLab event id 幕等去重。16GB 節點務必佇列背壓,避免 503 引發重試風暴。
遠端 Mac 檔位分工(示意)
閘道與重編譯勿搶同一記憶體預算。
| 檔位 | 角色 | 峰值情境 |
|---|---|---|
| M4·16GB | 瘦 handler、低併發 | 東京/新加坡區域入口 |
| M4·24GB | 多來源 webhook+佇列 | 港/韓同接 GitHub 與自架 GitLab |
| M4 Pro | 閘道+較重 worker | 美西貼雲後端,仍建議非同步 |
核對清單
- 時間/TLS:NTP、憑證到期、完整鏈。
- 驗簽:raw body、密鑰輪替、測試與正式分離。
常見問題
在 Mac mini 上,Webhook 自動化更省心
macOS 原生 Unix、launchd、TLS 一致;Apple Silicon 頻寬高、待機約 4W,適合 7×24。Gatekeeper、SIP、FileVault 降低暴露面;體積小、噪音低,長期成本友善。
要把鑑權與 Gateway 收斂在可預期效能上,Mac mini M4 是極具性價比的起步點;現在即可入手,讓日韓港新美西的 Webhook 工作流穩定落地。