Ich habe bereits gegoogelt, dass 505 "HTTP-Version nicht unterstützt", aber immer noch nicht mein Problem herausfinden kann. Ich habe eine Webanwendung mit Tomcat, serverseitig mit selbstsigniertem Zertifikat, um HTTPS zu aktivieren, ohne den Client zu authentifizieren. Der Client authentifiziert das Serverzertifikat. Ich habe das Wireshark-Paket analysiert, es scheint, dass der SSL-Handshark korrekt ist. Aber wenn ich Tomcat localhost_access_log überprüfe, wird es einen Fehler 505 für die Client-Anfrage geben, auch Server-Seite erhält die Client-Anfrage nicht. Könnten Sie bitte helfen, einen Hinweis darauf zu geben?
%Vor%Wenn Sie nach der HTTP-Version (wie in Ihrem Beispiel) eine Anfrage an Tomcat mit nachfolgenden Whitespaces stellen, antwortet Tomcat mit 505 Fehler. Bestätigt auf Tomcat 7.0.27.
RFC 2616 (HTTP 1.1) besagt, dass die HTTP-Version aus "HTTP /" + digit + "besteht." Ziffer. Request-Line endet mit "" + HTTP-Version + CRLF, was bedeutet, dass kein Leerzeichen erlaubt ist.
Referenzen:
Offensichtlich nicht die Antwort für das OP, aber ich bin heute Nacht in diese Fehlermeldung geraten, als ich versuchte, einen SOLR-Server zu debuggen.
Mein Problem war kein extra Leerzeichen nach der HTTP-Version.
Meine Client-Anwendung protokolliert die ungültige URL, die ich munter kopiert habe & amp; eingefügt in eine Telnet-Verbindung zum HTTP-Port des SOLR Tomcat. In meiner Protokollnachricht wurde die URL angezeigt, ohne dass in der URL ein Leerzeichen korrekt codiert wurde. Ich habe den Fehler der fehlerhaften HTTP-Version erhalten, vermutlich, weil alles nach dem Leerzeichen in der URL als meine HTTP-Version interpretiert wurde.
danke Ссылка für den Hinweis.