Wenn ich meine Anwendung in einer Apache Tomcat 8-Umgebung mit mehreren Servern bereitstelle, wird die Stapelverfolgung unterschritten. Ich erhalte diesen Fehler häufig und es scheint, dass er den Tomcat-Thread blockiert:
INFO [http-nio-80-exec-4461] org.apache.coyote.http11.AbstractHttp11Processor.process 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.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:233)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1017)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1524)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Kann mich jemand anweisen, wie ich eine solche Ausnahme beheben oder eingrenzen kann? Ich erhalte keinen Verweis auf eine meiner Anwendungsquelldateien. Ich habe versucht, zu googeln, und in den darin enthaltenen Links versuchen Sie, über https auf die http-URL zuzugreifen, was unwahrscheinlich erscheint. Ich erhalte diesen Fehler nicht, wenn die Anwendung auf einer einzelnen Tomcat 8-Instanz ausgeführt wird. Ich bekomme das nur in einer Multi-Server-Umgebung.
Ich teile auch die Meta-Tags, die ich auf jeder Seite eingebettet habe, wenn dies hilft, die Ursache zu identifizieren.
<%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
%>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1">
Ich verwende auf einigen Seiten auch Folgendes, was im Grunde dasselbe ist wie oben:
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="private" />
<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="Pragma" content="no-cache" />
Selbst wenn jemand dabei hilft, meinem Fehlerbehebungsversuch eine Richtung zu geben, ist dies hilfreich, da ich derzeit keine Ahnung habe, wo ich nachsehen soll.
Danke im Voraus.