天天看點

項目啟動遇見HTTP method names must be tokens

o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header
 Note: further occurrences of HTTP request 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.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:414)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:294)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
           

此類問題解決方案

1.請求頭資訊過大,調大maxHttpHeaderSize

具體版本不同,使用tomact請自行查詢,springboot1.幾版本支援max-http-header-size。2.幾版本不再支援

2.請求方式https改為http

3.通路端口設定問題,項目設定的端口可能被其他程式使用,發送過來的資訊,http無法解析。具體見

Tomcat報錯Invalid character found in method name. HTTP method names must be tokens 的處理

4.有可能被當成殭屍電腦,被攻擊,具體見評論,其實還是覺得其為端口問題,

沒人通路的情況下Invalid character found in method name. HTTP method names must be tokens