Istraživanje ERR_INVALID_CHUNKED_ENCODING kroz proxy
Utvrdite gdje odgovor postaje nepotpun ili iskvaren upoređujući njegovo uokvirenje, tačku zaustavljanja i zapise proxy rute.
ERR_INVALID_CHUNKED_ENCODING znači da odgovor nije mogao biti dekodiran kao potpuna chunked poruka. To što je dio sadržaja stigao uspješno ne dokazuje da je ostatak odgovora bio ispravan.
- Sačuvajte zaglavlja odgovora i prvu grešku dekodera. Utvrdite koja komponenta ju je prijavila i da li je poruka bila proglašena chunked.
- Pronađite tačku zaustavljanja. HTTP/1.1 chunked kodiranje zahtijeva veličine, odgovarajuće podatke, razdjelnike i završni chunk, s trailers gdje je primjenjivo. Rano zatvaranje veze i iskvarena veličina su različiti tragovi.
- Uporedite isti kontrolirani zahtjev na predviđenoj ruti. Uparite zahtjev sa proxy i upstream zapisima. Tražite zatvaranje na upstreamu, posredničku transformaciju ili otkazivanje od strane aplikacije u toj tački.
Ne zaključujte o HTTP uokvirenju iz veličine TCP bafera. Jedno čitanje socket-a može sadržavati pola chunka ili nekoliko chunkova; biblioteka tada može izložiti dekodirani sadržaj u različitim baferima. JSON zapis ima još jednu granicu. Proxy može ponovo uokviriti odgovor bez očuvanja originalnih granica paketa.
Ako dokazi upućuju na staru Squid implementaciju, zadržite njen broj izdanja uz taj zaključak. Savjeti za zakrpe Squid 2.x ne opisuju svako trenutno izdanje. Očuvajte normalno dekodiranje i provjeru certifikata tokom poređenja: potiskivanje greške može ostaviti nepotpunu datoteku da izgleda kao uspješno preuzimanje.