1、概述
在項目過程中,遇到當客戶端的post的請求過大的時候,后台出現報錯的情況。
經過查找,發現是tomcat有對POST請求的大小的限制,是通過參數maxPostSize來進行限制的,默認的情況下,大小限制是2m。
本文介紹如何修改tomcat的maxPostSize屬性
2、環境說明
本次修改的tomcat版本:9+
[root@nctest-snap-test-02 apache-tomcat-9.0.43]# bin/version.sh
Using CATALINA_BASE: /data/apps/apache-tomcat-9.0.43
Using CATALINA_HOME: /data/apps/apache-tomcat-9.0.43
Using CATALINA_TMPDIR: /data/apps/apache-tomcat-9.0.43/temp
Using JRE_HOME: /data/jdk
Using CLASSPATH: /data/apps/apache-tomcat-9.0.43/bin/bootstrap.jar:/data/apps/apache-tomcat-9.0.43/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Server version: Apache Tomcat/9.0.43
Server built: Jan 28 2021 20:25:45 UTC
Server number: 9.0.43.0
OS Name: Linux
OS Version: 3.10.0-862.3.3.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_202-b08
JVM Vendor: Oracle Corporation
3、參數修改過程
找到server.xml文件(conf目錄下)
在如下的部分中,加入maxPostSize參數
<Connector port="8889" protocol="HTTP/1.1"
connectionTimeout="20000"
maxPostSize="-1"
redirectPort="8443" />
注意,參數值是-1,必須是小於1的(后面,我們再解釋為什么)
maxPostSize="-1"
修改好,以上的參數之后,重新啟動tomcat即可。
4、注意事項
在不同的版本中,有maxPostSize的值的設置會有不同,如下所示:
- tomcat 7.0.63之前,maxPostSize設置小於等於0的值(≼0),表示不限制
- tomcat 7.0.63及之后,maxPostSize設置小於0的值(<0),表示不限制
我們是tomcat 9,所以,maxPostSize的值設置為-1即可不限制。