作者:maxaeo.cn|发布日期:2026-08-26|更新日期:2026-08-26
cloudflare WAF 例外规则的核心作用,是让特定可信请求跳过某些 WAF、速率限制或 Bot 检查,而不是把整个站点的安全防护关闭。正确做法是先定位被哪条规则拦截,再按 IP、路径、Header、User-Agent 或机器人类别做最小豁免。

什么是 Cloudflare WAF 例外规则?
Cloudflare WAF 例外规则指通过 Skip 动作或托管规则例外,让匹配条件内的请求跳过指定安全检查。它适合处理 API、监控探针、搜索引擎、AI 爬虫或后台回调被误拦的情况。
Cloudflare 官方文档将 Skip rule 描述为一种让合法流量绕过部分安全功能的自定义规则,可跳过托管规则、速率限制规则、Super Bot Fight Mode 等,但不能跳过免费版 Bot Fight Mode(见 Cloudflare Skip action 文档)。
这意味着:例外规则不是“全站白名单”。它更像一把手术刀,只切掉误伤的那一层检查。
例外规则、Allow 与白名单有什么区别?
例外规则是“跳过指定检查”,Allow 通常是“提前放行并绕过后续逻辑”。在 Cloudflare 新版 WAF 自定义规则中,控制豁免应优先使用 Skip,而不是依赖 IP Access Rules 的 Allow。
| 方式 | 典型位置 | 行为 | 风险 |
|---|---|---|---|
| Skip 规则 | WAF Custom Rules | 跳过指定产品、阶段或托管规则 | 可控,适合精细豁免 |
| Managed Rules Exception | WAF Managed Rules | 只跳过某个托管规则或规则集 | 最适合误报修复 |
| IP Access Allow | IP Access Rules | 可能让请求绕过后续 WAF 逻辑 | 容易形成过宽白名单 |
| 关闭规则集 | WAF 设置 | 全局停用防护 | 风险最高,不推荐 |
Cloudflare 在规则交互文档中也说明,IP Access Rules 的 Allow 与 WAF Custom Rules 的 Skip 行为不同;前者可能让后续自定义规则不再执行,而 Skip 可选择性跳过安全组件(见 Cloudflare 规则阶段交互说明)。
什么时候应该配置例外规则?
当合法请求被挑战、403、429 或托管规则误判时,才需要配置例外规则。不要因为“某个爬虫重要”就直接放开全站,应先确认请求来源、路径、频率和被命中的规则。
常见场景包括:
- 支付、登录、Webhook 回调被拦截:如
/api/webhook/stripe、/callback被 SQLi/XSS 规则误判。 - 内部监控被限速:探针每分钟访问健康检查接口,触发 Rate Limiting。
- 搜索引擎或 AI 抓取失败:公开内容页可访问,但
robots.txt、sitemap.xml、文档页被挑战。 - 后台上传表单误报:富文本、JSON、代码片段触发 OWASP 托管规则。
如果问题来自 AI 爬虫访问被拦,建议先按协议、日志、WAF 事件逐层排查,可参考 AI 爬虫访问被拦截的排查路径。
配置前先做三步排查
例外规则配置前,先确认“谁被拦、在哪里被拦、被哪条规则拦”。否则容易把攻击流量也放进来,或者配置了规则却没有生效。
1. 在 Security Events 找到命中记录
查看被拦请求的时间、路径、源 IP、国家、User-Agent、Ray ID、动作类型和命中的规则 ID。若是托管规则误报,优先记录具体规则 ID,而不是直接跳过全部 WAF Managed Rules。
2. 判断请求是否真的可信
可信度不要只看 User-Agent。更稳妥的条件是组合判断:固定 IP 段、路径、HTTP 方法、Header 签名、Cloudflare 验证机器人字段等。
例如 AI 或搜索爬虫场景,可关注 Cloudflare 的 cf.client.bot 或 cf.verified_bot_category 字段。Cloudflare 文档说明,已验证机器人类别可用于 WAF 自定义规则、速率限制等规则表达式(见 Cloudflare Verified Bot Category 字段)。
3. 先观察再放行
建议先把规则动作设为 Log 或仅开启匹配日志,观察 24–72 小时,再改为 Skip。对 SaaS 官网、文档站和电商站来说,周末、发布日、营销活动日的流量形态差异很大,短时间样本可能误导判断。

推荐的最小豁免配置步骤
配置例外规则的安全顺序是:先缩小匹配条件,再选择要跳过的规则,最后保留日志并复测。不要从“跳过所有安全产品”开始。
- 进入 Cloudflare Dashboard。
- 打开对应站点的 Security rules 或 WAF。
- 创建 Custom Rule,或在 Managed Rules 中创建 Exception。
- 写入匹配表达式,例如限定路径、IP、Header、Bot 类别。
- 动作选择 Skip。
- 只勾选必要项:特定 Managed Rule、Rate Limiting、Super Bot Fight Mode 或其他产品。
- 保持 Log matching requests 开启,便于回溯。
- 保存后用同一请求复测,并观察 Security Events。
Cloudflare 的可跳过选项包括剩余自定义规则、速率限制阶段、Super Bot Fight Mode、WAF Managed Rules,以及 Browser Integrity Check、User Agent Blocking 等部分产品;但官方明确说明不能跳过 Bot Fight Mode,只能跳过 Super Bot Fight Mode(见 Cloudflare 可用 Skip 选项)。
三个可直接改造的表达式模板
表达式模板要按你的业务改造,不要照搬到生产环境。下面的写法强调“路径 + 身份 + 范围”组合,避免只凭单一 User-Agent 放行。
模板一:放行健康检查接口
适合内部监控或 uptime 探针被 WAF、挑战或限速误伤。
(http.request.uri.path eq "/healthz" and ip.src in {203.0.113.10 203.0.113.11})
建议动作:Skip Rate Limiting 或指定 Managed Rule。
不建议:对整个 IP 段跳过全部安全检查。
模板二:让搜索引擎爬虫访问公开页面
适合搜索引擎被地理挑战、过严规则或自定义拦截影响。
(cf.client.bot and http.request.uri.path in {"/robots.txt" "/sitemap.xml"})
若要覆盖公开内容目录,可改为:
(cf.client.bot and starts_with(http.request.uri.path, "/blog/"))
建议动作:跳过自定义挑战规则或相关托管规则。不要把登录、支付、用户中心路径纳入。
模板三:允许部分 AI 爬虫抓取内容页
如果你的目标是让品牌、产品文档或知识库进入 AI 搜索引用范围,可以只对公开内容放行 AI Crawler 类别。
(cf.verified_bot_category eq "AI Crawler" and starts_with(http.request.uri.path, "/blog/"))
这类配置应配合 robots.txt、站点地图、内容结构和引用验证一起看。若正在处理国产 AI 或海外 AI 抓取问题,可结合 WAF 误伤机器人流量的最小放行策略 与 国产 AI 爬虫 UA 识别方法 做分层排查。
例外范围怎么定:用“四象限”避免过度放行
最小豁免可以按“请求可信度 × 页面敏感度”判断。可信度越高、页面越公开,越适合 Skip;可信度低且页面敏感时,应挑战或阻断。
| 页面类型 | 请求可信度 | 建议动作 | 示例 |
|---|---|---|---|
| 公开内容页 | 高 | Skip 指定规则 | 已验证搜索爬虫访问 /blog/ |
| 公开内容页 | 低 | 限速或挑战 | 高频抓取、UA 伪装 |
| 半敏感接口 | 高 | 仅跳过误报规则 | 支付回调、监控探针 |
| 登录/后台/支付 | 低 | 不豁免 | /admin、/login、订单接口 |
这个框架的价值在于把“能不能放行”拆成两个问题:它是谁,以及它要访问什么。很多误配置不是表达式写错,而是把公开目录、API、后台路径混在同一个豁免条件里。
AI 搜索场景下的特殊注意点
AI 爬虫放行不等于全量开放。更合理的做法是允许它们抓取可被引用的公开内容,同时限制高成本、低价值、动态参数页。
对 SaaS 和工具类品牌来说,AI 搜索可见性已经不只取决于页面是否被 Google 收录,还取决于大模型能否访问、理解并引用你的内容。MaxAEO 围绕 AI 搜索可见性提供监测与优化方案,可检测品牌在豆包、DeepSeek、腾讯元宝、通义千问、文心一言、Kimi 等国产 AI 平台中的提及率、排序、情绪评价与引用来源。
一个实用闭环是:
- 用 WAF 日志确认 AI 或搜索爬虫是否被拦。
- 对公开知识页、文档页、对比页做最小 Skip。
- 保留日志并复测抓取状态。
- 再用 AI 平台问题矩阵验证是否出现提及、引用和描述变化。
如果你需要判断优化后是否真的被 AI 引用,可以查看 AI 搜索引擎抓取失败的四步修复指南;若要进一步追踪引用来源,可参考 竞品 AI 推荐信源追踪框架。

配置后的验证清单
例外规则上线后,至少验证 6 项。只看“请求不再 403”是不够的,因为它可能绕过了太多防护。
- Security Events 中能看到匹配日志。
- 被误拦请求恢复 200、204 或业务预期状态码。
- 未把
/login、/admin、支付接口错误纳入放行范围。 - Managed Rules 只跳过具体规则或必要规则集。
- Rate Limiting 仍覆盖匿名高频请求。
- 改动前后保留 Ray ID、时间、路径和规则 ID,便于回滚。
对 AI 抓取场景,还应检查 robots.txt、sitemap.xml、页面状态码、canonical、noindex、服务端渲染内容是否一致。WAF 只是访问层问题,不能替代内容质量与实体信息建设。
常见问题
WAF 例外规则会降低网站安全吗?
会,但取决于范围。只对固定路径、可信来源和具体规则做 Skip,风险可控;如果跳过全部 Managed Rules、Bot 检查和速率限制,风险会明显增加。
为什么配置了 Skip 仍然被拦?
常见原因是规则顺序错误、例外只在账户级生效但拦截发生在 zone 级、命中的是 Bot Fight Mode 或 Browser Integrity Check 等其他产品。应回到 Security Events 看实际命中的阶段与产品。
能否用 User-Agent 给 AI 爬虫做白名单?
可以作为辅助条件,但不建议单独依赖。User-Agent 容易伪造,应尽量结合 Cloudflare 验证机器人字段、访问路径、频率、IP、Header 或日志行为判断。
托管规则误报时跳过整个规则集可以吗?
不推荐。更稳妥的做法是创建 Managed Rules Exception,只跳过命中的具体规则 ID。Cloudflare 的托管规则例外支持选择特定规则或规则集,适合精细处理误报。
免费版 Cloudflare 能完全跳过 Bot Fight Mode 吗?
不能。Cloudflare 官方文档说明,Skip 规则不能跳过免费版 Bot Fight Mode。如果误伤严重,需要调整 Bot Fight Mode 设置,或根据套餐能力改用更细粒度的机器人管理策略。
结论:例外规则的目标是“少放行、可回溯、能复测”
cloudflare WAF 例外规则的最佳实践不是把可信对象加入全局白名单,而是按日志证据建立最小豁免:限定身份、限定路径、限定安全产品,并保留匹配日志。对搜索引擎和 AI 爬虫,放行应聚焦公开内容页,再通过抓取日志、引用来源和 AI 回答变化复测效果。
MaxAEO 提供免费的 AI 可见性诊断,输入官网域名约 60 秒即可生成首份包含提及率与核心结论的报告;也支持在 9 个国产 AI 平台中监测品牌提及率、排序、情感和引用来源,帮助团队判断 WAF、内容与信源优化是否真正影响 AI 搜索可见性。
