Cloudflare 免费版找不到 IP Access Rules?这样放行 Webhook

716 字
4 分钟
Cloudflare 免费版找不到 IP Access Rules?这样放行 Webhook

Cloudflare 免费版开启 Bot Fight Mode 后,支付、通知等自动化 Webhook 请求可能被误判,并触发 Cloudflare 的托管质询(Managed Challenge)

一、问题原因#

在 Cloudflare 的安全性分析中,通常可以看到:

  • 服务:Bot Fight 模式
  • 采取的措施:托管质询

由于 Webhook 是服务器直接发起的自动化请求,无法像普通浏览器一样执行 JavaScript、保存 Cookie 并完成质询,因此请求会被 Cloudflare 拦在源站之前,最终导致回调失败。服务商一侧通常会将其记录为 HTTP 403

此时,即使添加 WAF 自定义规则,并将操作设置为 Skip,仍然无法绕过免费版 Bot Fight Mode。

原因很简单:免费版 Bot Fight Mode 不在 Ruleset Engine 中运行,不能通过 WAF 自定义规则跳过

二、使用 IP Access Rules 放行#

找到创建入口#

新版控制台会隐藏 IP Access Rules,直到当前账户至少创建过一条规则。这并不代表免费版取消了该功能;IP Access Rules 仍对所有套餐开放。

如果 Webhook 服务商提供固定出口 IP,可以直接打开下面的创建页面:

创建 IP Access Rule

创建放行规则#

填写时建议:

  1. IP / IP range:填写服务商公布的出口 IP 或网段。
  2. Action:选择 Allow
  3. Zone:只选择当前网站,避免影响账户中的其他域名。
  4. Note:标明服务名称,例如 Payment Webhook

创建第一条规则后,IP Access Rules 会重新出现在安全规则页面。只要请求的来源 IP 命中该规则,Bot Fight Mode 就不会再触发。

三、风险与替代方案#

Allow 规则的风险#

Allow 不只是放行 Bot Fight Mode,还会绕过多项 Cloudflare 安全检查。因此:

  • 只添加可信服务商的固定 IP,尽量不要放行过大的网段。
  • 不要使用来源不明、可能变化的 IP。
  • 定期核对服务商的出口 IP 列表。

没有固定 IP 时#

如果对方没有固定 IP,IP 白名单就不适用。此时可以考虑关闭 Bot Fight Mode、使用独立的回调子域名,并将该子域名设置为 DNS only,让回调请求不经过 Cloudflare 代理。或者升级到支持精细 Skip 规则的 Super Bot Fight Mode。

如果将回调子域名设置为 DNS only,源站 IP 会直接暴露,并且该子域名不再受到 Cloudflare WAF、Bot Fight Mode 等代理层安全功能的保护。此时需要在源站自行配置 HTTPS、防火墙、访问控制和 Webhook 签名验证。

综合来看,如果服务商提供固定出口 IP,通过 IP Access Rule 放行通常是 Cloudflare 免费版中最简单、最稳定的处理方式。

四、参考资料#

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Cloudflare 免费版找不到 IP Access Rules?这样放行 Webhook
https://blog.is-w.com/posts/cloudflare-ip-access-rules-webhook/
作者
Nova
发布于
2026-03-20
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Nova
慢慢折腾,认真记录,每一天都有新的收获。
公告
欢迎来到我的博客,随便看看不用客气!
分类
标签
站点统计
文章
19
分类
6
标签
29
总字数
21,750
运行时长
0
最后活动
0 天前