修改服务器的maxpostsize的值,maxPostSize属性改变tomcat的post请求的请求体大小设置...

本文档详细记录了在接口对接时遇到的请求体大小限制问题。通过排查,发现对方请求数据量大于Tomcat默认的2M限制。解决方案是修改Tomcat的server.xml配置文件,设置maxPostSize属性,以允许接收更大规模的POST请求。同时,文中列举了其他相关配置参数的含义和设置,如maxThreads、connectionTimeout等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理原因:接口对接时,发现对方请求的数据我们后台无法接收到,收到的时候是空的。把对方的测试数据拿过来还原,在本地bug启动交换平台项目,利用postman将对方的入参输入,还原出错场景,果然获取不到数据;

1.首先删掉ubody中的数据,发现后台可以获取到数据;

2.删除ubody中其余附件流,发现也可以获取到数据

3.查看tomcat中server.xml的配置文件,发现没有配置请求体的文件大小,默认人为2M的配置是否不满足应用,果然对方的请求大小为5M到10M

4.配置server.xml的maxPostSize属性,单位字节

5c95a77c8213cc2141a5cab9c1a0d7f8.png

tomcat请求体大小默认为2M

在tomcat 的server.xml中添加一行:maxPostSize="10485760";表示post请求体最大为10M(10*1024*1024=10485760);maxPostSize="-1" 为不限制文件大小(谨慎使用,服务器压力会太大)

maxPostSize="10485760"/>

其他参数配置:

executor="tomcatThreadPool" 执行器

port="8088" 端口号

protocol="org.apache.coyote.http11.Http11NioProtocol" 协议:Http11NioProtocol并发处理量大

maxThreads="4000" 最大连接数

minSpareThreads="30" 服务器启动时创建的处理请求的线程数

connectionTimeout="60000" 指定超时的时间数(以毫秒为单位) 1秒 = 1000毫秒 这里为60s

redirectPort="8443" 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号

enableLookups="false" enableLookups:调用request、getRemoteHost()执行DNS查询,以返回远程主机的主机名,如果设置为false,则直接返回IP地址。

acceptCount="1000" 当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100

maxPostSize="10485760" 当maxPostSize="-1"时 POST方式上传的文件大小不会被限制;这里为10M,1024*1024*10;单位:字节

maxHttpHeaderSize="8192" http最大请求头大小设置8194/1024 = 8k

compression="on" 是否启用压缩 on为启用(文本数据压缩)

disableUploadTimeout="true" 允许Servlet容器,正在执行使用一个较长的连接超时值,以使Servlet有较长的时间来完成它的执行

compressionMinSize="2048"

acceptorThreadCount="2"compressableMimeType="text/html,text/plain,text/css,application/javascript,application/json,application/x-font-ttf,application/x-font-otf,image/svg+xml,image/jpeg,image/png,image/gif,audio/mpeg,video/mp4"

processorCache="2000" 启用压缩的输出内容大小,这里面默认为2KB

tcpNoDelay="true" 禁用了Nagle算法,允许小包的发送

connectionLinger="5" socket linger参数值。当socket即将关闭时(前)阻塞的时间,单位:秒。如果设置为-1,表示关闭linger。在BIO(Blocking IO)和AJP链接中默认为100,NIO中默认为25.

server="Server Version 11.0"

useBodyEncodingForURI="true" 若请求体采用utf-8解析,则请求参数也要采用utf-8来解析

allowTrace="false" 防止http TRACE 跨站攻击

/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值