You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Tomcat中增大HTTP请求头大小限制(Java项目)

解决Tomcat 9请求头过大的问题

嘿,别担心,刚接触Tomcat遇到这种问题太正常了!我来帮你把请求头限制调整到16KB,先纠正你之前的一个关键错误:你把server.xml放错位置啦——这个核心配置文件根本不是放在项目的/webapp/WEB-INF目录下的,这就是为什么你的修改没生效的原因。

下面是一步步的正确操作:

1. 找到正确的server.xml位置

Tomcat的全局配置文件server.xml存放在Tomcat安装目录的conf文件夹里,比如你的Tomcat安装路径是apache-tomcat-9.0.xx,那路径就是:
apache-tomcat-9.0.xx/conf/server.xml

如果你用的是IDE内嵌的Tomcat(比如IntelliJ IDEA、Eclipse),那需要找到IDE管理的Tomcat实例对应的conf目录——通常可以在IDE的Tomcat配置界面里找到“Configuration directory”的路径。

2. 修改maxHttpHeaderSize参数

打开找到的server.xml文件,找到配置HTTP端口的<Connector>标签(默认是8080端口的那个)。在这个标签里添加或修改maxHttpHeaderSize属性,设置为16384(因为16KB = 16 × 1024 = 16384字节)。

修改后的Connector标签示例:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           maxHttpHeaderSize="16384" />

如果你之前还加了maxPostSize或者URIEncoding,也可以保留这些参数,只要把maxHttpHeaderSize改成16384就行。

3. 重启Tomcat

保存server.xml的修改后,一定要重启Tomcat服务,这样新的配置才会生效。

额外验证小技巧

你可以发送一个请求头超过8KB的测试请求,看看是否还会出现Request header is too large的错误;或者查看Tomcat的启动日志,确认maxHttpHeaderSize已经被正确加载为16384。

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

火山引擎 最新活动