WAF层能做缓存吗?和CDN缓存有什么区别

速读摘要:WAF 层的"缓存"和 CDN 缓存不是一回事。WAF 缓存的是安全检查结果(如"这个 IP 刚刚被判为恶意"),用于减少重复检测开销;CDN 缓存的是响应内容本身,用于加速访问。两者协作:WAF 先安检,CDN 再分发。本文讲清区别和协同方式。
WAF 层能做缓存吗?
WAF 性能与稳定性篇 · 第 66 问 · 主机吧 WAF 知识库

一、概念先分清

“缓存”这个词在 WAF 和 CDN 语境下含义不同:

  • CDN 缓存:缓存的是内容——图片、CSS、JS 文件本身,用户直接拿到
  • WAF 缓存:缓存的是判定结果——”这个 IP 是恶意的””这条规则刚刚匹配过”,用于加速决策

二、WAF 层的”缓存”是什么

2.1 判定结果缓存

WAF 检测每个请求都要跑一遍规则。如果同一个 IP 在短时间内发了大量请求,每次都完整检测就浪费性能。所以 WAF 会缓存判定结果:

优化前:
  请求 1 → 完整检测(20ms) → 判定恶意
  请求 2 → 完整检测(20ms) → 判定恶意
  请求 3 → 完整检测(20ms) → 判定恶意
  ... 1000 次 → 累计 20 秒

优化后:
  请求 1 → 完整检测 → 判定恶意 → 写入缓存
  请求 2 → 命中缓存(0.1ms) → 直接拦截
  请求 3 → 命中缓存(0.1ms) → 直接拦截
  ... 1000 次 → 累计 0.3 秒

2.2 信誉缓存

IP 信誉、JA3 指纹、Bot 判定这些结果都会被缓存一段时间(通常几分钟到几小时),避免重复计算。

2.3 静态资源直通

部分 WAF 对静态资源(.jpg/.css/.js)做特殊处理:只做轻量检测或直接放行,把性能留给动态请求。

三、CDN 缓存的作用

CDN 缓存是真正的”内容缓存”,它决定了一个请求是否需要回到源站:

CDN 缓存命中:
  用户 → CDN 节点(有缓存)→ 直接返回 ✅
  完全不消耗源站资源,延迟极低

CDN 缓存未命中:
  用户 → CDN 节点(无缓存)→ 回源取内容 → 缓存 → 返回
  首次稍慢,后续命中

3.1 常见缓存规则

资源类型缓存时长说明
图片/视频30 天带版本号或 hash
CSS/JS7-30 天文件名带 hash 最佳
HTML 页面0-5 分钟动态内容慎缓存
API 接口0(不缓存)除非是纯查询
字体文件30 天很少变动

四、两者的协作关系

标准链路是”WAF 先安检,CDN 后缓存”:

用户请求
   ↓
[WAF 层] 安全检查:SQL注入?CC?Bot?
   ↓ 放行
[CDN 层] 缓存查找:有缓存吗?
   ↓ 命中        ↓ 未命中
直接返回     回源取内容 → 缓存 → 返回

这个顺序的好处是:恶意请求在进入缓存层之前就被拦掉,不会污染缓存,也不会消耗 CDN 流量

五、配置建议

5.1 静态资源

├─ 交给 CDN 长缓存(7-30 天)
├─ WAF 对静态资源只做轻量检测
├─ 文件名带 hash 或版本号(便于更新)
└─ 开启 gzip/brotli 压缩

5.2 动态页面

├─ 不缓存或极短缓存(0-60 秒)
├─ 注意 Cookie 场景:带登录态的请求不缓存
├─ 可用"边缘缓存 + 缓存键"精细控制
└─ API 接口默认不缓存

5.3 缓存键设计

缓存键决定了"什么样的请求算同一个缓存"。

  建议包含:
    ├─ URL 路径
    ├─ 查询参数(部分)
    └─ 设备类型(移动/PC,如做了差异化)

  不建议包含:
    ├─ Cookie(会导致缓存失效)
    └─ 时间戳类参数

六、缓存带来的风险

风险说明防范
缓存投毒攻击者构造请求污染缓存,影响其他用户WAF 先安检 + 校验缓存键
敏感信息泄露缓存了带用户信息的页面带 Cookie 的请求不缓存
更新不及时内容改了但缓存没更新主动刷新 + 版本号
缓存穿透大量不存在的 URL 每次都回源缓存空结果 + 限速

七、小结

WAF 缓存的是”判定结果”,用于加速安全决策;CDN 缓存的是”内容”,用于加速分发。两者职责不同但要协同:WAF 在前做安检,CDN 在后做缓存。配置上,静态资源长缓存、动态内容慎缓存、带 Cookie 的请求不缓存,是最基本的三条原则。

如果你的站点正被恶意爬虫、CC 攻击困扰,或需要一套开箱即用的 Web 应用防护,可以了解百度云防护 Web 应用防火墙专业版 299 元/月,年付 2399 元,可联系主机吧客服购买)——支持自定义访问策略、URI 频率限制、BOT 防护、威胁情报与 API 防护,无需改动源站代码,改 DNS 即可接入。包年包月计费,流量峰值买多少防多少,无后付费陷阱。

给TA打赏
共{{data.count}}人
人已打赏
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo