You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

上传大图片时Nginx报413 request entity too large错误的原因

413 Payload Too Large 错误排查方案

核心错误原因:Tomcat 的 max-swallow-size 限制

你设置的 server.tomcat.max-swallow-size=2MB 是关键问题。这个参数的作用是:当 Tomcat 已经拒绝请求(比如因为请求体过大)时,限制它继续读取的请求体大小。当上传的图片超过2MB时,Tomcat 会触发这个限制,直接返回413错误,哪怕你已经把multipart的上限设为50MB。

排查与修复步骤

  • 调整 Tomcat 的 max-swallow-size 参数:
    将配置改为 server.tomcat.max-swallow-size=50MB(和multipart上限一致),或者设为 -1(完全不限制),这样Tomcat就能完整接收超过2MB的请求体。
  • 验证 Nginx 配置是否完全生效:
    虽然你在全局和http块设置了 client_max_body_size 100M,但要检查反向代理的location块里有没有单独设置这个参数(如果有,会覆盖全局配置)。可以通过执行nginx -t验证配置语法,然后重启Nginx确保修改生效。
  • 确认Spring Boot控制器参数接收正确:
    确保文件参数用@RequestParam("file") MultipartFile file接收(file要和前端FormData里的键名完全匹配),避免因为参数绑定问题间接引发请求异常。

内容的提问来源于stack exchange,提问作者Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 06:48:17