tomcat報錯Error parsing HTTP request header處理


項目部署到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。配置后為:

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

測試后發現問題解決。
原文:https://blog.csdn.net/qq_35592011/article/details/72461625

https://blog.csdn.net/u013630349/article/details/72465731
https://blog.csdn.net/sinat_19425927/article/details/42294901


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM