SpringBoot - 解析HTTP请求标头时出错

Mis*_*ili 5 java spring spring-boot

我正在运行SpringBoot Application刚检查的服务器日志,并得到了这样的几个错误.由于每天12/24小时后出现错误,我无法理解是什么原因造成的.

运行Tomcat版本 8.5.11

2018-03-04 17:03:26 [http-nio-8080-exec-85] INFO  o.a.coyote.http11.Http11Processor - 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.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:421)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:667)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Run Code Online (Sandbox Code Playgroud)

Gon*_*ndy 8

正如我在这个类似的问题中回答的那样,请检查您是否意外地使用 HTTPS 协议而不是 HTTP 协议进行请求。如果您没有在 Tomcat 上配置 SSL 并发送 HTTPS 请求,则会出现此奇怪的消息。


cof*_*n21 5

这可能是因为解析HTTPS标头而不是HTTP.尝试:

  1. 添加:
    logging.level.org.springframework.web: trace
    logging.level.org.apache: trace
    到你的application.properties,看看Spring对你说了什么.
  2. 检查当时是否有任何计划活动,这些活动是指SSL加密的其他资源.另请参见:java.lang.IllegalArgumentException:在方法名称中找到无效字符.HTTP方法名称必须是令牌