ERR_INVALID_CHUNKED_ENCODING significa que a resposta non se puido descodificar como unha mensaxe chunked completa. Que parte do contido chegue correctamente non demostra que o resto da resposta fose válido.

  1. Conserve as cabeceiras da resposta e o primeiro erro do descodificador. Determine que compoñente o notificou e se a mensaxe se declarou como chunked.
  2. Localice o punto de parada. A codificación HTTP/1.1 chunked require tamaños, os datos correspondentes, delimitadores e un chunk final, con trailers cando corresponda. Un peche temperán da conexión e un tamaño mal formado son pistas distintas.
  3. Compare a mesma petición controlada na ruta prevista. Faga coincidir a petición cos rexistros do proxy e do upstream. Busque un peche do upstream, unha transformación intermedia ou unha cancelación da aplicación nese punto.

Non inferira o marco HTTP a partir do tamaño dun búfer TCP. Unha soa lectura de socket pode conter medio chunk ou varios chunks; unha biblioteca pode entón expor o contido descodificado en distintos búfers. Un rexistro JSON ten aínda outro límite. Un proxy pode reencadrar unha resposta sen preservar os límites orixinais dos paquetes.

Se as probas apuntan a unha implementación antiga de Squid, conserve o seu número de versión xunto con esa conclusión. Os consellos de parches para Squid 2.x non describen todas as versións actuais. Manteña a descodificación normal e a validación de certificados durante a comparación: suprimir o erro pode facer que un ficheiro incompleto pareza unha descarga correcta.

Artigos relacionados