java.lang.IllegalArgumentException: Invalid character found in method name.

May 13, 2019 3:05:29 PM 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.InternalAprInputBuffer.parseRequestLine(InternalAprInputBuffer.java:186)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1052)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
    at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2492)
    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)

项目跑着很正常,突然有一天出现了这个错误。

修改bug:

   1、看到 header parsing errors will be logged at DEBUG level.时 考虑tomcat出现问题,http head不够大 ,订单式往下看IllegalArgumentException不对 应该不是http head问题 ,如果是head太小应该下面是有too large类,要是这样在tomcat的conf 下的server.xml中  

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="5443"  useBodyEncodingForURI="true" disableUploadTimeout="true" URIEncoding="UTF-8" />加maxHttpHeaderSize再重启应该就可以了

2、https访问http协议导致出现的问题,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章