ERR_INVALID_CHUNKED_ENCODING über einen Proxy untersuchen
Ermitteln Sie, wo eine Antwort unvollständig oder fehlerhaft wird, indem Sie Framing, Abbruchpunkt und Logs der Proxy-Route vergleichen.
ERR_INVALID_CHUNKED_ENCODING bedeutet, dass die Antwort nicht als vollständige chunked-Nachricht dekodiert werden konnte. Dass ein Teil des Inhalts erfolgreich ankommt, belegt nicht, dass der Rest der Antwort gültig war.
- Antwort-Header und den ersten Decoder-Fehler sichern. Stellen Sie fest, welche Komponente ihn gemeldet hat und ob die Nachricht als chunked deklariert war.
- Den Abbruchpunkt lokalisieren. HTTP/1.1 chunked erfordert Größenangaben, die zugehörigen Daten, Trennzeichen und einen abschließenden Chunk, gegebenenfalls mit Trailern. Ein frühes Verbindungsende und eine fehlerhafte Größenangabe sind unterschiedliche Spuren.
- Dieselbe kontrollierte Anfrage auf der vorgesehenen Route vergleichen. Gleichen Sie die Anfrage mit Proxy- und Upstream-Logs ab. Suchen Sie an dieser Stelle nach einem Upstream-Abbruch, einer Zwischen-Transformation oder einem Abbruch der Anwendung.
Leiten Sie HTTP-Framing nicht aus einer TCP-Puffergröße ab. Ein einzelner Socket-Lesevorgang kann einen halben Chunk oder mehrere Chunks enthalten; eine Bibliothek kann den dekodierten Inhalt dann in anderen Puffern bereitstellen. Ein JSON-Datensatz hat eine weitere Grenze. Ein Proxy kann eine Antwort neu framen, ohne die ursprünglichen Paketgrenzen zu erhalten.
Deuten die Belege auf eine alte Squid-Implementierung hin, halten Sie deren Versionsnummer mit dieser Schlussfolgerung fest. Patch-Hinweise für Squid 2.x beschreiben nicht jede aktuelle Version. Behalten Sie beim Vergleich die normale Dekodierung und Zertifikatsprüfung bei: Das Unterdrücken des Fehlers kann eine unvollständige Datei wie einen erfolgreichen Download aussehen lassen.