Tomcat 7.0.43 "INFO: Fehler bei der Analyse des HTTP-Request-Headers"
Ich benutze Tomcat 7.0.43 mit einer websocket-Anwendung. Meine app funktioniert gut, die in Tomcat-7.0.42 aber mit 43 ich bekomme die folgende Ausgabe, wenn ich versuche, auf meinem server über 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.
Mein browser-Konsole zeigt Folgendes an:
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
Hier ist das access log für die Anforderung:
"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"
Was hat sich verändert in den Tomcat 7.0.43? Was muss ich ändern?
Kommentar zu dem Problem - Öffnen
Kann man den HTTP-Header, die Sie senden?
@SotiriosDelimanolis siehe meine access log. Hat dieser Ihnen helfen?
vielleicht ist diese Antwort kann dir helfen: stackoverflow.com/questions/12583338/...
@fatman, Warum sollte Tomcat 7.0.43 keine Unterstützung für das websocket ich mit Tomcat 7.0.42? Es macht keinen Sinn?
Sie sind immer
failed: Unrecognized frame-opcode: 5
, so offensichtlich ist das problem in diesem Bereich. Ich bin nicht vertraut mit dem Protokoll, sondern nur dachte, es könnte geben Sie einen Zeiger (vielleicht legen Sie ein version-header?). InformationsquelleAutor der Frage confile | 2013-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn du diesen listener:
auf Ihre server.xml entfernen Sie es und versuchen.
Sie können nicht verwenden Sie einen Schlüsselspeicher, wenn Sie die APR-connector
InformationsquelleAutor der Antwort ben rhouma moez
Für mich, das problem war vorbei, in einer größeren als der üblicherweise erwarteten HTTP-header. Ich entschloss mich, es durch Einstellung maxHttpHeaderSize="1048576" - Attribut auf den Connector-Knoten in server.xml.
InformationsquelleAutor der Antwort Philippe
Wenn es zu viele cookies, Cache, bricht es den server (von der Größe eines request-header ist zu groß!). Löschen der cookies das Problem beheben können sowie.
InformationsquelleAutor der Antwort Kimchi Man
Ich hatte ein ähnliches Problem, ich war eine POST-Anforderung gesendet (mit plugin RESTClient für Firefox), mit den Daten in den request-body an und erhielt die gleiche Meldung.
In meinem Fall geschah dies, weil ich versuchte, verwenden Sie das HTTPS-Protokoll in einem lokalen tomcat-Instanz, wo HTTPS nicht konfiguriert wurde.
InformationsquelleAutor der Antwort nkatsar
Ich habe versucht, alle der oben genannten, nichts für mich gearbeitet.
Dann änderte ich die tomcat-port-Nummern, die sowohl für HTTP/1.1 und Tomcat admin port und es wurde gelöst.
Ich sehen, die anderen oben genannten Lösungen gearbeitet, für die Leute, aber es ist einen Versuch Wert, wenn einer der oben genannten nicht funktioniert.
Vielen Dank an alle!
InformationsquelleAutor der Antwort Abhishek Soni
Mein problem tritt auf wenn ich versuche zu öffnen https. Ich glaube nicht, verwenden Sie SSL.
Es ist Tomcat bug.
Heute 12/02/2017 neueste offizielle version aus den Debian repositories ist Tomcat 8.0.14
Lösung ist ein download von der offiziellen Website, und installieren Sie neueste Paket von Tomcat 8, 8.5, 9 oder ein upgrade auf die neueste version(8.5.x) von jessie-backports
Debian 8
Hinzufügen /etc/apt/sources.Liste
Dann aktualisieren und installieren Sie den Tomcat von jessie-backports
InformationsquelleAutor der Antwort Piotr K.
In unserem Fall stellte sich heraus, dass der Fehler passiert ist, denn wir haben eine benutzerdefinierte
filter
in unserer Anwendung, die nichtHttpServletResponse sendRedirect()
zu anderen url.Aus irgendeinem Grund die Umleitung ist nicht die Schließung der
keep-alive
status der Verbindung, daher der timeout-exception.Haben wir überprüft, mit Tomcat-Docs und wenn wir deaktiviert die
maxKeepAliveRequests
durch Einstellung es Wert ist, zu1
und den Fehler nicht mehr mit.Für jetzt haben wir nicht die eigentliche Lösung des Fehlers.
InformationsquelleAutor der Antwort Atais
Wenn Sie nicht möchten, aktualisieren Sie Ihre tomcat,
Fügen Sie diese Zeile in Ihre
catalina.properties
Es funktioniert für mich
http://www.zhoulujun.cn/zhoulujun/html/java/tomcat/2018_0508_8109.html
InformationsquelleAutor der Antwort Lujun Zhou