ERR_INVALID_CHUNKED_ENCODING vizsgálata proxyn keresztül
Határozza meg, hol válik a válasz hiányossá vagy hibássá a keretezés, a megállási pont és a proxy-útvonal naplóinak összevetésével.
ERR_INVALID_CHUNKED_ENCODING azt jelenti, hogy a választ nem lehetett teljes chunked üzenetként dekódolni. Abból, hogy a tartalom egy része sikeresen megérkezik, nem következik, hogy a válasz többi része érvényes volt.
- Őrizze meg a válasz fejléceit és az első dekóderhibát. Állapítsa meg, melyik komponens jelentette, és hogy az üzenetet chunkedként deklarálták-e.
- Keresse meg a megállási pontot. A HTTP/1.1 chunked kódolás méreteket, a hozzájuk tartozó adatokat, elválasztókat és egy lezáró chunkot igényel, ahol releváns, trailerekkel. A korai kapcsolatbontás és a hibás méret különböző nyomok.
- Hasonlítsa össze ugyanazt az ellenőrzött kérést a szánt útvonalon. Párosítsa a kérést a proxy és az upstream naplóival. Keressen upstream lezárást, köztes átalakítást vagy alkalmazásoldali megszakítást azon a ponton.
Ne következtessen a HTTP keretezésre egy TCP-puffer méretéből. Egyetlen socket-olvasás tartalmazhat fél chunkot vagy több chunkot; a könyvtár ezután a dekódolt tartalmat különböző pufferekben teheti elérhetővé. A JSON-rekordnak még egy határa van. A proxy újrakeretezhet egy választ anélkül, hogy megőrizné az eredeti csomaghatárokat.
Ha a bizonyítékok régi Squid-implementációra mutatnak, tartsa meg annak kiadási számát ezzel a következtetéssel együtt. A Squid 2.x javítócsomag-tanácsai nem írnak le minden jelenlegi kiadást. Az összehasonlítás során őrizze meg a normál dekódolást és a tanúsítvány-ellenőrzést: a hiba elnyomása hiányos fájlt kelthet sikeres letöltés benyomását.