java logo - Tomcat 7.0.43 "INFO: Erreur lors de l'analyse de l'en-tête de requête HTTP"




4 Answers

Si vous avez cet auditeur:

    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>

sur votre server.xml, supprimez-le et essayez. Vous ne pouvez pas utiliser de magasin de clés si vous utilisez le connecteur APR

end of

J'utilise Tomcat 7.0.43 avec une application websocket. Mon application fonctionne correctement dans Tomcat 7.0.42 mais avec 43, j'obtiens la sortie suivante lorsque j'essaie d'accéder à mon serveur sur des Websockets:

Sep 16, 2013 3:08:34 AM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.

La console de mon navigateur affiche les informations suivantes:

WebSocket connection to 'ws://www.testapp.com/socket/notification/848df2e62fcf93e1b3?X-Atmosphere-tracking-i…Date=0&Content-Type=application/json;%20charset=UTF-8&X-atmo-protocol=true' failed: Unrecognized frame opcode: 5 

Voici le journal d'accès à cette demande:

"GET /socket/notification/848df2e62fcf93e1b3?X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.0.2-javascript&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackMessageSize=true&X-Cache-Date=0&Content-Type=application/json;%20charset=UTF-8&X-atmo-protocol=true HTTP/1.1"

Qu'est-ce qui a changé dans Tomcat 7.0.43? Que dois-je changer?




Pour moi, le problème était de transmettre un en-tête HTTP plus grand que prévu. Je l'ai résolu en définissant l'attribut maxHttpHeaderSize = "1048576" sur le nœud Connector dans server.xml.




J'ai essayé tout ce qui précède, rien n'a fonctionné pour moi. Ensuite, j'ai changé les numéros de port tomcat à la fois HTTP / 1.1 et Tomcat admin port et il a été résolu.

Je vois d'autres solutions ci-dessus travaillées pour les gens, mais cela vaut la peine d'essayer celle-ci si l'une des solutions ci-dessus ne fonctionne pas.

Merci tout le monde!




Dans notre cas, il s’est avéré que l’erreur s’était produite car nous avons un filter personnalisé dans notre application qui fait que HttpServletResponse sendRedirect() à une autre URL.

Pour une raison quelconque, la redirection ne ferme pas le statut keep-alive de la connexion, d'où l'exception d'expiration.

Nous avons vérifié avec Tomcat Docs et lorsque nous avons désactivé le maxKeepAliveRequests en lui maxKeepAliveRequests la valeur 1 et que l'erreur a cessé de s'afficher.

Pour l'instant, nous n'avons pas la solution réelle à l'erreur.




Related

java tomcat servlets tomcat7