項目部署到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
