Istraživanje ERR_INVALID_CHUNKED_ENCODING kroz proxy
Utvrdite gdje odgovor postaje nepotpun ili iskvaren usporedbom njegova uokvirenja, točke zaustavljanja i zapisa proxy rute.
ERR_INVALID_CHUNKED_ENCODING znači da se odgovor nije mogao dekodirati kao potpuna chunked poruka. To što dio sadržaja stigne uspješno ne dokazuje da je ostatak odgovora bio valjan.
- Sačuvajte zaglavlja odgovora i prvu pogrešku dekodera. Utvrdite koja ju je komponenta prijavila i je li poruka bila proglašena chunked.
- Pronađite točku zaustavljanja. HTTP/1.1 chunked kodiranje zahtijeva veličine, odgovarajuće podatke, razdjelnike i završni chunk, s trailersima gdje je primjenjivo. Rano zatvaranje veze i iskvarena veličina različiti su tragovi.
- Usporedite isti kontrolirani zahtjev na predviđenoj ruti. Uparite zahtjev s proxy i upstream zapisima. Tražite zatvaranje na upstreamu, posredničku transformaciju ili otkazivanje aplikacije u toj točki.
Ne zaključujte o HTTP uokvirenju iz veličine TCP međuspremnika. 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 međuspremnicima. JSON zapis ima još jednu granicu. Proxy može ponovno uokviriti odgovor bez očuvanja izvornih granica paketa.
Ako dokazi upućuju na staru Squid implementaciju, zadržite njezin broj izdanja uz taj zaključak. Savjeti za zakrpe Squid 2.x ne opisuju svako trenutačno izdanje. Očuvajte normalno dekodiranje i provjeru certifikata tijekom usporedbe: potiskivanje pogreške može ostaviti nepotpunu datoteku da izgleda kao uspješno preuzimanje.