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