GitHub:使用 X-Hub-Signature-256(或旧版 X-Hub-Signature)对原始请求体做 HMAC;反代若缓冲或改写了 body,验签会稳定失败。显式记录 X-GitHub-Delivery 便于与 CI 日志对齐。
GitLab:X-Gitlab-Token 用于共享密钥;部分场景还会带 X-Gitlab-Event-UUID。自建实例要注意相对 URL 与代理路径前缀是否与 OpenClaw 路由配置一致。
Webhook 的共享密钥解决的是「外部系统声称来自 Git 平台」;OPENCLAW_GATEWAY_TOKEN 一类变量解决的是「谁可以调用你的 Gateway 控制面」。两者职责不同,不要混在同一环境变量名里,否则轮换时会出现「CI 已更新、OpenClaw 仍读旧值」的间歇故障。
- 版本钉扎:记录 OpenClaw CLI、Gateway 与 Node 运行时版本;升级前后各跑一次「验签探针」。
- 本机探针:先在
127.0.0.1 用保存的原始 body + 签名头重放,再在公网入口重放,定位问题在进程内还是边缘。
- 监听与转发:
lsof 确认监听进程;反代是否剥离 Authorization / 自定义头。
- 日志:为 Webhook 处理与网关限流各落一条结构化日志(含 delivery id、仓库、HTTP 状态),避免只有「401」没有上下文。
- 回滚:保留上一份 plist/环境文件与密钥轮换记录,保证一次失败升级可快速退回。
用 curl 固定 body 重放;核对 CI 密钥与 OpenClaw 侧一致;检查
proxy_set_header;确认未把 Webhook 密钥与 Gateway token 混用 评论/check_run 附件过大;边缘
client_max_body_size 过小
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/266665.html