上線前逐項打勾。多數生產事故來自 token 洩露、缺少重試,或自動執行高危方法。
總覽
按關注點分組的上線前清單,配合末尾的冒煙測試一起用。
Token 安全
token 僅存密鑰管理 / 環境變數,絕不進倉庫。
生產與測試 Bot 分離 token。
CI/CD 注入密鑰;不列印到 build log。
制定 token 洩露輪換 SOP。
Webhook 安全
HTTPS 公網 URL。
配置
secret_token並校驗X-MpChat-Bot-Api-Secret-Token標頭。Webhook endpoint 不暴露管理介面。
先在測試環境驗證,再對生產執行
setWebhook。
限流與重試
用戶端限流 ≤ 每 token 每秒 30 次。
429、500指數退避;400/401/403不重試;409理清輪詢與 Webhook。批量操作控制並發。
日誌脫敏
日誌不出現 token、完整
initData或用戶敏感欄位。錯誤上報配置脫敏規則。
存取日誌不記錄含 secret 的完整 webhook URL。
高危 API(DocOnly,需審批 + 回滾方案)
logOut、leaveChat、deleteMessage(s)、banChatMember、setWebhook、deleteWebhook。部署流水線不包含上述方法的自動呼叫。
維運手冊記錄審批人與回滾步驟。
冒煙測試
getMe——token 有效。getWebhookInfo——URL 正確。模擬用戶訊息——Webhook 收到 update。
sendMessage——回覆成功。(如有)
initData驗簽通過。
相關文章
另需驗證冪等:評估重複 sendMessage 的業務副作用;Webhook 處理先持久化 update 再回傳 200。
