答案是修改client_max_body_size参数:可在http、server或location块中设置,分别控制全局、虚拟主机或特定路径的请求体大小,默认1mb,推荐在server块设为如100m,并重载配置且同步调整后端限制。

直接改 client_max_body_size 这个参数就行,它是 Nginx 控制请求体大小的核心配置,专门用来应对“413 Request Entity Too Large”这类错误。
在哪写这个配置?三处位置效果不同
这个指令可以放在三个层级,作用范围逐级缩小:
- http 块:全局生效,影响所有虚拟主机和路径
- server 块:只对该域名或 IP 的服务生效,最常用也最推荐
-
location 块:仅对匹配的 URL 路径(比如
/upload)生效,适合精细化控制
怎么写?单位和数值要清楚
语法很简单,单位支持大小写不敏感:
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
-
client_max_body_size 100M;(100 兆字节) -
client_max_body_size 2G;(2 吉字节) -
client_max_body_size 50000000;(约 50MB,单位是字节) -
client_max_body_size 0;表示不限制(仅限可信内网或调试环境,生产慎用)
改完必须重载配置才生效
保存 nginx.conf 或对应配置文件后,别忘了让新设置起作用:
- 推荐用
sudo nginx -s reload(平滑重载,不中断服务) - 也可用
sudo systemctl restart nginx(重启,会短暂中断)
别漏掉配套限制
单设 client_max_body_size 不够,上传大文件还常卡在超时或缓冲区上:
- 加
client_body_timeout 300s;防止上传中途断连报 413 - 调大
client_body_buffer_size 128k;或更高,避免小缓冲区触发额外限制 - 如果 Nginx 后面接了 Spring Boot、PHP 等应用,记得同步调整它们的上传限制(比如 Spring 的
max-file-size)










