如果服务器只接受来自已允许 IP 地址的 GitHub webhook,请将三个新前缀加入允许列表。GitHub 于 2026 年 10 月 29 日宣布,用于发往 github.com 的新网段已加入 Meta API 的 hooks 字段。此变更适用于所有套餐中发往 github.com 的 webhook,包括 GitHub Enterprise Cloud。

需要添加哪些网段
手动更新时,GitHub 列出了以下 CIDR 前缀:
9.234.98.160/289.234.98.176/289.234.106.48/28
将这些前缀与已允许的 GitHub 地址一并保留,并加入列表。如果允许列表已通过 Meta API 更新,则无需单独修改这些前缀:最新的 webhook 列表会在 hooks 字段中返回。Meta API 文档提醒,示例响应中的值仅供演示;实际配置应直接请求最新数据。
检查允许列表的生成方式
首先,确认允许地址列表配置在哪里:应用的网络防火墙、反向代理、云策略或企业防火墙。接着,检查系统是从 GET /meta 更新整套地址,还是只保存手动添加的条目。若属于前一种情况,请确认同步包含 hooks 字段;若属于后一种情况,则添加这三个前缀,同时保留之前的条目。
无需身份验证即可访问 GET /meta 的公开数据。GitHub 建议定期更新允许列表,因为服务地址可能发生变化。自动化时,从响应中提取 hooks 字段,并在应用网络规则前将完整列表与本地配置进行核对。
更新后需要检查什么
确认新 CIDR 前缀已出现在生效配置中,并且旧条目仍然保留。然后检查 webhook 投递记录和网络日志,确认变更后没有请求被拒绝。IP 过滤最好与其他检查配合使用:GitHub 的建议包括使用经过证书验证的 HTTPS、设置 webhook 密钥,以及在处理前检查事件类型。
GitHub 建议在 10 秒内以 2xx 状态码响应投递;耗时较长的处理可以放入队列。X-GitHub-Delivery 标头有助于识别唯一投递,并防止请求被重复重放。
对于静态允许列表,请手动添加所有三个已公布的前缀。如果配置由系统自动管理,则通过 Meta API 更新 hooks 字段,并定期将其当前值与本地列表核对。这样,过滤入站 webhook 的规则就不会漏掉新地址。