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

UAT配置环境下无法覆盖Tomcat默认文件上传大小限制问题咨询

排查与解决步骤

  1. 优先检查虚拟机反向代理限制
    你提到请求没有进入Spring控制器,UAT环境部署在虚拟机中,大概率虚拟机前置了Nginx/Apache等反向代理,这类代理默认的请求体大小限制就是1MB,超出后直接返回错误,不会转发到后端服务。
    如果是Nginx,在配置文件中对应server或location块添加client_max_body_size 25M;,重启Nginx即可生效;如果是Apache,修改LimitRequestBody参数为26214400(25MB对应的字节数)。

  2. 确认UAT配置是否正确加载
    很多时候配置不生效是因为profile没有被正确激活,你可以通过以下方式验证:

  • 启动UAT应用时添加--debug启动参数,查看控制台输出的配置加载顺序,确认application-uat.properties被正常加载
  • 直接在启动类中添加代码打印spring.servlet.multipart.max-file-size和spring.servlet.multipart.max-request-size的实际值,确认是否为你配置的25MB,避免被配置中心、环境变量等更高优先级的配置覆盖。
  1. 适配外置Tomcat的配置(如果适用)
    如果你UAT环境是将Spring Boot应用打包成war包部署到外置Tomcat,而非使用内置Tomcat启动,需要单独修改Tomcat的配置:
    打开Tomcat/conf/server.xml,找到对应的Connector节点,添加maxSwallowSize="26214400"配置,重启Tomcat生效。
    如果使用内置Tomcat,可直接在配置文件中添加server.tomcat.max-swallow-size=25MB确保Tomcat层面的限制放开。

  2. 解决小文件UnsupportedMediaType报错
    小文件上传返回415错误的常见原因如下:

  • 确认后端上传接口的@PostMapping注解是否显式指定了consumes = MediaType.MULTIPART_FORM_DATA_VALUE,如果配置了其他类型的消费规则会直接返回415
  • 抓包验证前端上传请求的Content-Type头是否为multipart/form-data; boundary=xxx格式,你当前的Angular代码没有手动设置Content-Type是正确的(FormData会自动让浏览器生成带boundary的正确头,手动设置反而会导致boundary缺失报错),如果确认头异常可检查是否有全局拦截器强制修改了请求头。
  1. 额外补充配置
    可以在配置文件中显式添加spring.servlet.multipart.enabled=true,虽然Spring Boot默认开启文件上传支持,避免部分场景下该配置被意外关闭。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:06:02