
一、流量是怎么走的
接入 WAF 后,一次请求的完整流量路径:
用户 ──上行──> WAF 节点 ──回源──> 源站
↓
用户 <──下行── WAF 节点 <──响应── 源站
计费相关:
├─ 上行:用户到 WAF 的数据(一般不计费)
├─ 回源:WAF 到源站的请求(常按此计费)
├─ 下行:WAF 返回给用户的数据
└─ 静态资源命中缓存时,不回源 → 不产生回源流量
二、四种计费模式
2.1 按防护带宽计费
常见于 DDoS 防护。你买”100Gbps 防护”,意思是能扛住 100Gbps 的攻击流量。业务正常流量不单独计费。
特点:
├─ 计费对象:攻击防护峰值
├─ 优点:不用担心业务流量涨了就加钱
└─ 缺点:买的带宽超出攻击需求就是浪费
2.2 按业务/回源带宽计费
WAF 常用模式。按 WAF 回源产生的流量(或带宽峰值)计费。
特点:
├─ 计费对象:回源流量或回源带宽峰值
├─ 优点:用多少付多少
└─ 缺点:流量涨了成本跟着涨
节省点:静态资源走 CDN,减少回源量
2.3 按请求数计费
按 QPS 或月总请求数计费,多见于 API 防护场景。
2.4 套餐包
固定额度(含一定带宽 + 请求数 + 域名数),超出部分另计。中小站点最常用。
三、会多消耗多少流量
很多人担心接 WAF 后流量翻倍。实际上:
| 流量类型 | 是否增加 | 说明 |
|---|---|---|
| 用户上行 | 不增加 | 还是那些请求 |
| 回源流量 | 新增 | WAF 转发给源站的量 |
| 用户下行 | 不增加 | 还是那些响应 |
| 攻击流量 | 不消耗你的 | 在 WAF 被拦掉,不透传到源站 |
所以”增加”的其实是 WAF→源站 这一段的转发流量。但对源站来说,收到的是”清洗后”的干净流量,反而可能比裸奔时更少。
四、实际流量估算
举例:一个日 PV 10 万的资讯站
平均页面大小:500KB
日下行流量:100,000 × 500KB = 50GB
若静态资源 80% 走 CDN:
只有 20% 需要回源
回源流量 ≈ 50GB × 20% = 10GB/天
若全部资源都经 WAF 回源:
回源流量 ≈ 50GB/天
差异:5 倍!
→ 结论:静态资源交给 CDN 能大幅降低 WAF 流量成本
五、省流量的五个方法
- 静态资源全部走 CDN:图片、CSS、JS、字体交给 CDN 长缓存
- 开启 gzip/brotli 压缩:文本类资源可压缩 70% 以上
- 图片优化:用 WebP 格式,压缩尺寸,减少带宽
- 限制大文件下载:下载类接口单独限速,或用对象存储直链
- 开启 HTTP 缓存头:让浏览器缓存,减少重复请求
# Nginx 开启压缩(宝塔)
# 在 nginx.conf 的 http 块中
gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain text/css application/json \
application/javascript text/xml application/xml;
gzip_vary on;
# 宝塔路径:软件商店 → Nginx → 配置修改
六、需要注意的计费坑
| 坑 | 说明 | 避免 |
|---|---|---|
| 攻击流量也计费 | 部分产品把攻击流量算入 | 确认计费口径,选清洗不计费的 |
| 峰值计费 | 按最高带宽峰值计费,波峰很贵 | 注意”95 计费”或均值计费 |
| 回源放大 | 源站响应大,回源流量大 | 优化源站响应体积 |
| 跨区流量 | 部分产品跨区流量单价更高 | 就近选择节点 |
| 超出套餐 | 超量部分单价可能很高 | 设置用量告警 |
七、小结
WAF 增加的流量主要是”回源转发”这一段。把静态资源交给 CDN、开启压缩、优化图片,能把这个成本压到很低。选型时一定要看清计费口径——是按防护带宽、回源带宽、请求数还是套餐包,以及攻击流量是否计费。搞清这些,账单就不会失控。
