症状
- 文档页面起初能加载,但 30–60 秒后崩溃并返回 500 错误
- 页面间的客户端导航缓慢或异常
- 对
/mintlify-assets/*路径的请求在浏览器控制台中显示 403 错误 - 来自 Cloudflare 的安全挑战提示“数据格式错误”或“可疑的 URL 模式”
根本原因
- 编码的 URL 参数中包含多个“%”符号
- 含有特殊字符的较长 query 字符串
- 来自空闲标签页的自动化请求
解决方案
创建防火墙例外
- 登录你的 Cloudflare 控制台
- 选择你的 domain
- 前往 Security > WAF
- 选择 Create rule
- 按以下设置配置规则:
- Field:
Hostname - Operator:
equals - Value:
docs.yourdomain.com(替换为你的实际文档 domain)
- Field:
URI Path - Operator:
starts with - Value:
/mintlify-assets/
- Action:
Skip - Select:
All remaining custom rules、Managed rules和Super Bot Fight Mode
- 启用 Log 以跟踪匹配的请求
- 选择 Deploy
验证规则
- 在浏览器中打开文档站点
- 将页面闲置 2–3 分钟
- 在各页面之间切换
- 在浏览器控制台中检查是否出现 403 错误
- 确保主机名与文档的 domain 完全一致
- 确认 URI 路径使用
starts with(而非contains) - 不要在路径的值中包含通配符(
*) - 确认该规则已启用并完成部署
常见错误
- 将
contains运算符用于/mintlify-assets/*-*会被视为普通字符,而非通配符 - 对 URI Path 使用
equals- 这只会匹配精确路径/mintlify-assets/,不匹配子路径 - 忘记跳过 Bot Fight Mode - 必须在 skip 操作中显式包含
- 主机名错误 - 必须与实际的文档 domain 完全匹配
其他故障排除
- 在 Cloudflare 的 Security > Events 日志中检查被拦截的请求
- 验证你的 Cloudflare Worker(若使用自定义子路径)是否正确转发了
Host头 - 暂时将 Security Level 设置为 “Essentially Off”,以确认问题是否由 Cloudflare 引起
- 检查是否有自定义 Page Rules 会覆盖该防火墙例外