Hi, we're reviewing our logs, are we are ocasionally getting the following stack traces:

09-Apr-2020 11:29:19.489 INFO [tomcat-http-81] org.apache.coyote.http11.Http11Processor.service 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 the request target. The valid characters are defined in RFC 7230 and RFC 3986                 at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:488)                 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260)                 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)                 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)                 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)                 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)                 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)                 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)                 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

We understand this is a consequence of malformed requests, but we cannot seem to pinpoint the cause. It seems these are clients outside of our control (our servers are public-facing). The AccessLogValve does not log these requests, so we cannot figure out what the request line is. Is there any way logging could be improved in order to find out what is causing this?

BTW, we're on Tomcat 9.0.33

*Manuel Dominguez Sarmiento*

Reply via email to