服务器端tomcat8运行期间出现service Error parsing HTTP request header如何解决?

新手上路,请多包涵

问题描述

服务器端使用的是tomcat8,经常出现service Error parsing HTTP request header的问题。

问题出现的环境背景及自己尝试过哪些方法

已按网上查的方法修改了service.xml的maxHttpHeaderSize,改成了maxHttpHeaderSize="10240",但问题依然存在。

相关代码

06-Jun-2019 12:16:00.667 信息 [http-nio-8080-exec-10] org.apache.coyote.http11.Http11Processor.service 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 the request target. The valid characters are defined in RFC 7230 and RFC 3986
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:479)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:684)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
    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)
阅读 20.2k
1 个回答

这个提示比较明显了 请求的header里有非法字符
以前我遇到过url或者参数里有^时就会报这个错
解决办法就是找到那个特殊符号 然后改用其他符号
或者修改配置,允许使用这些符号。具体配置我忘了,自己查下吧
搜索的时候注意关键字: https://www.baidu.com/s?word=...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题