Spring Boot内置Tomcat下对应Jetty maxFormContentSize的等效配置如何设置
等效配置说明
核心结论
你要和Jetty的-Dorg.eclipse.jetty.server.Request.maxFormContentSize=5000000完全等效的配置是server.tomcat.max-http-post-size=5000000,该配置在Spring Boot 2.5.x、2.6.x版本的嵌入式Tomcat下均可直接生效,不需要额外代码调整。
各相关配置的区别
你提到的几个配置用途各不相同,可按需选择:
server.tomcat.max-http-post-size:对应你需要的表单大小限制,作用是限制application/x-www-form-urlencoded类型的普通POST表单请求体的最大大小,默认值为2MB,和Jetty的maxFormContentSize作用完全一致。server.tomcat.max-swallow-size:作用是请求超出大小限制后,Tomcat最多还要读取多少字节的请求体再断开连接,目的是保证客户端能正常收到错误响应,和表单大小限制逻辑无关,无需修改。spring.servlet.multipart.max-file-size:仅对multipart/form-data类型的文件上传请求生效,限制单个上传文件的最大大小。spring.servlet.multipart.max-request-size:仅对multipart/form-data类型的文件上传请求生效,限制整个请求(所有上传文件+普通表单字段总和)的最大大小。spring.servlet.multipart.fileSizeThreshold:文件上传时,大小超过该阈值的文件会先写入磁盘临时目录,属于性能调优参数,不影响大小限制逻辑。
配置示例
application.properties写法
# 完全对齐原Jetty的表单大小限制 server.tomcat.max-http-post-size=5000000 # 如果业务有文件上传需求,可额外添加以下配置,大小按需调整 spring.servlet.multipart.max-file-size=5MB spring.servlet.multipart.max-request-size=5MB
application.yml写法
server: tomcat: max-http-post-size: 5000000 # 有文件上传需求时添加以下配置 spring: servlet: multipart: max-file-size: 5MB max-request-size: 5MB
内容的提问来源于stack exchange,提问作者Johan
相关产品推荐
相关产品推荐

