Aurora_dzx 2024-05-06 10:02 采纳率: 0%
浏览 63

SpringBoot生产环境问题,貌似是Tomcat引发

2024-05-05 20:56:56.952 [http-nio-8805-exec-7] INFO  o.a.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 [0x030x000x00/*0xe00x000x000x000x000x00Cookie: ]. HTTP method names must be tokens
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:419)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:271)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

貌似是有Tomcat引发的请求问题,但是不知道如何解决。
请问有知道如何解决这种问题吗?

  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-05-06 10:04
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述:Tomcat引发的请求问题,HTTP请求头错误解析。 解决方法: 根据日志信息和异常信息,可以发现请求中存在非法字符“Cookie: ”,而HTTP请求方法名应该是一个token,也就是不能存在特殊字符。因此,解决该问题的方法就是在客户端或者服务端中,过滤掉非法字符。 示例代码(Java):
    //如果HTTP请求方法名中存在非法字符,则将其替换为空字符串“”
    String requestMethod = request.getMethod().replaceAll("[^\\w]", "");
    //在服务端中其他逻辑操作
    

    需要注意的是,过滤字符的方法需要根据具体情况而定。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月6日