J'obtiens la trace de pile suivante lorsque je déploie mon application dans un environnement multi-serveur Apache Tomcat 8. J'obtiens cette erreur fréquemment, et il semble qu'elle bloque le thread de 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 m'indiquer comment résoudre le problème ou limiter cette exception ? Je n'obtiens aucune référence à aucun des fichiers source de mon application. J'ai essayé de chercher sur Google, et dans l'un des liens, il est dit que vous essayez d'accéder à l'url http par https, ce qui semble peu probable. Je n'obtiens pas cette erreur lorsque l'application fonctionne sur une seule instance de Tomcat 8. Je ne l'obtiens que dans un environnement multi-serveurs.
Je partage également les balises méta que j'ai intégrées à chaque page, si cela peut aider à 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 essentiellement la même chose 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 peut m'aider en donnant une direction à ma tentative de dépannage, ce sera utile, car actuellement je n'ai aucune idée de la direction à prendre.