Cloudflare 涉及两种不同的“API 限制”场景:一是开发者调用 Cloudflare 官方管理 API(api.cloudflare.com),二是访问受 Cloudflare 保护的第三方网站。两者机制完全不同,需区分对待。官方 API 有明确的文档化限制,而受保护网站的限制由网站所有者自定义。
先说结论:Cloudflare 官方 API 有明确的速率限制(通常通过响应头告知),而受 Cloudflare 保护的网站限制取决于站长配置。开发者应优先区分调用目标,合规使用 API Token,并通过响应头监控配额。
- 先确认:区分是调用 api.cloudflare.com 还是访问第三方域名
- 先处理:官方 API 使用 Token 认证并监控 X-RateLimit 头;第三方网站遵守 robots 协议
- 再验证:检查 HTTP 状态码(429/1015)及响应头剩余配额
Cloudflare 官方 API 限流标准
调用 Cloudflare 官方管理接口(如创建 DNS 记录、修改 WAF 规则)时,限制由 Cloudflare 统一控制。不同端点(Endpoint)的配额不同,通常基于 API Token 或 API Key 进行计数。
关键限制指标:
- 通用限制:大多数端点默认限制为每 5 分钟 1200 次请求,但具体数值以响应头为准。
- 认证方式:必须使用 Bearer Token 或 API Key,未认证请求会被直接拒绝。
- 配额查询:每次响应都会返回剩余配额信息,无需猜测。
合规调用示例(Python):
import requests
url = "https://api.cloudflare.com/client/v4/user/tokens/verify"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
print(response.status_code)
# 查看限流头
print(response.headers.get('X-RateLimit-Remaining'))
print(response.headers.get('X-RateLimit-Reset'))受 Cloudflare 保护网站的速率限制
如果您访问的是使用 Cloudflare 作为 CDN/WAF 的第三方网站(非官方 API),限制规则由该网站管理员在 Cloudflare Dashboard 中配置。此时触发的 1015 或 429 错误与 Cloudflare 官方 API 无关。
触发维度:
- IP 频率:单个 IP 在特定时间窗口内的请求数超标。
- 请求特征:缺失标准浏览器 Header(如 User-Agent、Accept-Language)。
- 挑战验证:触发 JS 挑战或 5 秒盾,未完成验证前无法继续访问。
网站所有者配置路径:登录 Cloudflare Dashboard → Security → WAF → Rate limiting rules。可自定义阈值、时间窗口和惩罚动作(如 Block 或 Challenge)。
实操:如何查看与应对限流
第一步:通过响应头确认限流状态
使用 curl verbose 模式查看响应头,官方 API 会明确返回剩余配额,第三方网站会返回 429 状态码。
curl -v -H "Authorization: Bearer YOUR_TOKEN" https://api.cloudflare.com/client/v4/user
# 关注输出中的 X-RateLimit-Remaining 字段第二步:处理 429/1015 错误
若收到 429 Too Many Requests 或 1015 You are being rate limited:
- 立即停止请求:等待响应头中 X-RateLimit-Reset 指定的时间。
- 降低频率:在代码中增加 sleep 间隔,或实现指数退避算法。
- 检查认证:确保官方 API 调用使用了有效的 Token,未认证请求配额更低。
第三步:完善请求特征(仅针对自有网站)
如果是测试自己管理的网站,确保客户端发送完整的 Header,避免被误判为脚本。
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
"Accept": "text/html,application/xhtml+xml...",
"Accept-Language": "zh-CN,zh;q=0.9"
}合规与风险提示
重要声明:未经网站所有者授权,尝试绕过 Cloudflare 速率限制或 WAF 防护可能违反目标网站的服务条款(ToS)及相关法律法规。本文提供的技术方案仅适用于:
- 调用 Cloudflare 官方管理 API 管理自有域名。
- 测试自己拥有管理权限的网站配置。
- 获取公开数据且符合 robots.txt 协议的合规爬虫。
切勿使用代理池恶意高频访问第三方网站,数据中心 IP 信誉较低,更容易触发严格的风控策略。
参考来源
- Cloudflare Official API Documentation - Rate Limiting
- Cloudflare Dashboard User Guide - WAF Rate Limiting Rules
- HTTP Status Code 429 Specification - RFC 6585
- Cloudflare Error 1015 Technical Overview