Investigant ERR_INVALID_CHUNKED_ENCODING a través d'un proxy
Localitzeu on una resposta esdevé incompleta o mal formada comparant-ne l'emmarcat, el punt d'aturada i els registres de la ruta del proxy.
ERR_INVALID_CHUNKED_ENCODING significa que la resposta no s'ha pogut descodificar com a missatge chunked complet. Que part del contingut arribi correctament no demostra que la resta de la resposta fos vàlida.
- Conserveu les capçaleres de la resposta i el primer error del descodificador. Determineu quin component l'ha notificat i si el missatge s'havia declarat chunked.
- Localitzeu el punt d'aturada. La codificació HTTP/1.1 chunked requereix mides, les dades corresponents, delimitadors i un chunk final, amb trailers quan correspongui. Un tancament precoç de la connexió i una mida mal formada són pistes diferents.
- Compareu la mateixa petició controlada a la ruta prevista. Feu coincidir la petició amb els registres del proxy i de l'upstream. Busqueu un tancament de l'upstream, una transformació intermediària o una cancel·lació de l'aplicació en aquell punt.
No inferiu l'emmarcat HTTP a partir de la mida d'un buffer TCP. Una sola lectura de socket pot contenir mig chunk o diversos chunks; una biblioteca pot després exposar el contingut descodificat en buffers diferents. Un registre JSON té encara una altra frontera. Un proxy pot reemmarcar una resposta sense preservar les fronteres originals dels paquets.
Si les proves apunten a una implementació antiga de Squid, conserveu-ne el número de versió amb aquesta conclusió. Els consells de pedaços per a Squid 2.x no descriuen totes les versions actuals. Manteniu la descodificació normal i la validació de certificats durant la comparació: suprimir l'error pot fer que un fitxer incomplet sembli una descàrrega correcta.