为了账号安全,请及时绑定邮箱和手机立即绑定

Tomcat服务器执行一段时间后,报错Error parsing HTTP request header

信息: Error parsing HTTP request header

 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.

java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens

at org.apache.coyote.http11.InternalAprInputBuffer.parseRequestLine(InternalAprInputBuffer.java:181)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:996)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

请问是什么原因?该怎么解决啊?

百度搜到说,要在server.xml中,设置并加大maxHttpHeaderSize的属性和值,但试了下,貌似没什么用啊!

正在回答

27 回答

我把Tomcat的端口号换成别的就没有报错出现了

0 回复 有任何疑惑可以回复我~

IllegalArgumentException

这个问题我碰到很多次了

首先说下我遇到的情况:

  之前编代码好好的,突然有天晚上就出现所有的类包红的情况,但是这些类之前都是没有显示错误的,这个时候打包的war文件上传到服务器,启动的时候就会报这个错误。本地服务器也无法启动,用dos启动tomcat后显示404。

  如果大家也碰到这样的问题,那么先看下tomcat的启动日志,或者你们的eclipse报错信息,在这个错误提示的后面会有详细的解释,可以翻译下。

  这个问题主要出现的原因是:

  1.web.xml文件的配置错误,如果你xml文件里面存在路径错误,或者错误的写法,那么服务器就不会启动成功,并且报这个错误

  2.jar文件冲突,这个是本地或者服务器常遇到的问题,服务器不知道该加载哪个方法到内存中,就报了这个错误。我当时是引了好几个alipay的jar文件后出现的。所以对于多个jar会冲突的最好使用独立的项目进行分离。解耦式访问API的方式进行请求。

  如果你也是所有的类都爆红,可以试验下,在项目上右键修改下jdk的版本,一般修改了版本就不会爆红了,可以暂时在本地跑起来了。根本上还是解决jar冲突的问题

1 回复 有任何疑惑可以回复我~

怎么解决的

0 回复 有任何疑惑可以回复我~

如果你的项目是做数据交换的话,它是会用到tomcat的一点特性的,这样会对tomcat的版本是有要求的,换一个低版本的tomcat或高版本的tomcat,多试下看看

0 回复 有任何疑惑可以回复我~

同问a,设置缓冲大小没起作用,换了低版本的也不行

0 回复 有任何疑惑可以回复我~

我也遇到了这个问题,用的是7版本的,求大神指点

0 回复 有任何疑惑可以回复我~

哪位大神解决了……求大神指点

0 回复 有任何疑惑可以回复我~

怎么解决?

0 回复 有任何疑惑可以回复我~

我也遇到这个问题,换了个低版本的tomcat,然后解决了

1 回复 有任何疑惑可以回复我~
#1

一叶片周

换了也没用呀!!!
2017-07-04 回复 有任何疑惑可以回复我~

刚才也遇到了,是传递的数据(字符)太长所致,它对长度有限制

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Tomcat服务器执行一段时间后,报错Error parsing HTTP request header

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号