tomcat报错Error parsing HTTP request header处理

妖狐艹你老母 2023-06-27 12:58 128阅读 0赞

项目部署到linux服务器后,启动项目报以下错误

May 18, 2017 10:01:52 AM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: 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.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:135)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:996)

产生这个错误的主要原因是 GET 方法传递的数据太多导致。
其实从代码层面上使用POST就可以解决,但是,为了不大面积的修改代码,从Tomcat配置上下手也是可以的。
修改路径如下:
tomcat-7.X\conf\server.xml

网上查了下,说是因为httpHeaderSize大小不够导致的,要修改tomcat的配置,新加一个字段maxHttpHeaderSize。配置后为:

  1. <!--<Connector port="1080" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="1443" />-->
  4. <Connector URIEncoding="UTF-8" acceptCount="100" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
  5. compression="on" compressionMinSize="10240" connectionTimeout="20000" disableUploadTimeout="true"
  6. enableLookups="false" maxHttpHeaderSize="81920" maxSpareThreads="75" maxThreads="150"
  7. minSpareThreads="25" noCompressionUserAgents="gozilla, traviata" port="1080"
  8. protocol="HTTP/1.1" redirectPort="1443" />

测试后发现问题解决。

发表评论

表情:
评论列表 (有 0 条评论,128人围观)

还没有评论,来说两句吧...

相关阅读