• maxPostSize属性改变tomcat的post请求的请求体大小设置


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

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

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

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

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

    tomcat请求体大小默认为2M

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

    <Connector connectionTimeout="20000" port="8089" protocol="HTTP/1.1" redirectPort="8443"

    maxPostSize="10485760"/>

    其他参数配置:

    <Connector
    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 跨站攻击
    />

  • 相关阅读:
    awk 使用shell 变量
    设计模式之 外观(门面)模式 Facade
    设计模式之 抽象工厂模式
    python 第一课
    Visual Basic 图片连接地址添加
    smarty 不同模板 缓存时间
    PHP 传参过滤
    Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建支持高并发量的Web服务器
    linux vi 编辑命令
    PHP 命令模式 执行文件 并传递参数
  • 原文地址:https://www.cnblogs.com/tongcc/p/13996216.html
Copyright © 2020-2023  润新知