首页/安全/安全设备配置速查/上传大小与请求限制
WAF 防护73 条

上传大小与请求限制

限制请求体大小与上传类型,可阻断大体积恶意上传与资源耗尽型请求,同时保护后端。

安全设备配置速查安全更新于 2026-10-13

上传与请求限制管的是什么

上传大小与请求限制是控制单个 HTTP 请求体尺寸、头部大小、表单字段数量与文件类型的组合参数。限制过松,攻击者可以用超大请求体或海量字段消耗后端资源;限制过紧,正常业务的上传(报表、图片、附件)会被拒。WAF 与前置 nginx 都会做限制,两侧数值不一致时,拦截会出现在预料之外的那一层。

基本信息

限制对象请求体大小、请求头大小、表单字段数量、上传文件类型
常见参数nginx 的 client_max_body_size、client_body_timeout;WAF 侧为最大请求体与字段数
一致原则两侧限制值保持一致,避免拦截层级不可预测
例外大文件业务单独走指定路径放宽,而不是全局放大

典型使用场景

  • 站点上线前:按业务实际的最大上传需求设定限制值
  • 异常流量处置:请求体异常巨大时先用限制快速止血
  • 大文件业务迁移:报表、视频、备份上传需要单独放宽并留痕
  • 安全基线评审:把请求体与字段限制列入检查项
  • 上传故障排查:先确认是 nginx 还是 WAF 这一层拦下的

nginx 参考配置

nginx 参考配置
# 限制请求体大小,超限时由 nginx 直接返回 413
client_max_body_size 20m;
# 请求体接收超时,防止慢速上传长期占用连接
client_body_timeout 60s;
# 大文件业务只在指定路径放宽,不影响其他站点
location /report/upload/ {
    client_max_body_size 200m;
}
# 改完在 WAF 侧同步核对限制值,避免两层不一致

限制项与影响

限制项设得过松设得过紧
请求体大小大包攻击与内存压力正常上传返回 413
请求头大小头部膨胀消耗资源带长 Token 的客户端被拒
字段数量表单类攻击可行复杂表单业务提交失败
文件类型可执行文件上传风险合法附件类型被误拦
上传被拒时先看状态码:413 通常来自请求体大小限制(nginx 或 WAF 侧),403 多为规则命中,两者的排查路径完全不同。
限制值是业务需求与安全需求的平衡点,改动前先确认业务侧真实的最大上传量,而不是照抄其他站点的数值。

易错点

  • 两侧限制值不一致:请求在 nginx 层就被 413 拦掉,WAF 日志里没有任何记录,排查方向被误导
  • 为个别大文件业务全局放大限制:所有站点同时失去请求体防护,攻击面随之扩大
  • 照抄默认值上线:默认值往往偏小或偏大,问题在业务高峰才暴露
  • 只限制请求体大小不限字段数:海量小字段的提交依然能持续消耗后端资源

数据来源与参考

  • nginx 官方文档:client_max_body_size
  • OWASP 文件上传防护备忘
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌