防止 Cloudflare R2 被恶意刷流量的实用技巧
Cloudflare R2 每月有免费的读取额度,这对大多数个人和中小开发者来说已经足够。但总有一些恶意行为者会利用这个特性,不断刷请求次数,导致巨额账单。
为了避免这种情况,本文介绍两种简单有效的防刷手段:
- 设置请求速率限制
- 强制缓存对象请求
一、设置速率限制(Rate Limiting)
通过 Cloudflare 的防护功能设置访问速率,可以有效遏制异常访问。
操作步骤如下:
- 登录 Cloudflare 后台,进入对应域名的设置页面。
- 打开 安全性 > WAF(Web Application Firewall)。
- 创建速率限制规则,按你需要的速率填写即可。
参考示例设置如下图:
可根据自身需求调整请求频率阈值:
二、启用强制缓存(Cache Everything)
另一个降低读取成本和防止恶意刷的方式是:开启「强制缓存」,让 Cloudflare 边缘节点直接返回缓存结果,避免频繁访问 R2 源地址。
设置方式如下:
- 进入 Cloudflare 后台,选择 规则 > 缓存规则(Cache Rules)。
- 创建规则并选择 Cache Everything,确保开启 Edge Cache TTL。
示例如下图:
根据实际路径需求进行匹配设置:
总结
通过「限速 + 缓存」这两招,基本能防住绝大多数的恶意刷流量行为。