J'obtiens sous la trace de la pile lorsque je déploie mon application dans un environnement Apache Tomcat 8 multi-serveurs. J'obtiens fréquemment cette erreur, et il semble que cela bloque le fil Tomcat:
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)
Quelqu'un peut-il me dire comment résoudre ou réduire une telle exception? Je ne reçois aucune référence à aucun de mes fichiers source d'application. J'ai essayé de rechercher sur Google, et parmi les liens indiqués, vous essayez d'accéder à http url via https, ce qui semble peu probable. Je n'obtiens pas cette erreur lorsque l'application s'exécute sur une seule instance de Tomcat 8. Je reçois cela uniquement dans un environnement multi-serveur.
Je partage également les balises meta que j'ai intégrées sur chaque page, si cela aide à identifier la cause.
<%
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">
J'utilise également ce qui suit dans quelques pages, ce qui est fondamentalement le même que ci-dessus:
<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" />
Même si quelqu'un m'aide à donner une direction à ma tentative de dépannage, cela sera utile, car actuellement je n'ai aucune idée de l'endroit où chercher.
Merci d'avance.