ERR_INVALID_CHUNKED_ENCODING азначае, што адказ не ўдалося дэкадаваць як поўнае chunked-паведамленне. Паспяховае паступленне часткі змесціва не даказвае, што астатні адказ быў карэктным.

  1. Захавайце загалоўкі адказу і першую памылку дэкадара. Вызначце, які кампанент паведаміў пра яе і ці было паведамленне аб'яўлена chunked.
  2. Знайдзіце кропку спынення. Кадаванне HTTP/1.1 chunked патрабуе памераў, адпаведных даных, раздзяляльнікаў і завяршальнага chunk, а таксама trailers, дзе гэта датычыцца. Ранняе закрыццё злучэння і скажоны памер — розныя зачэпкі.
  3. Параўнайце той жа кантраляваны запыт на мэтавым маршруце. Супастаўце запыт з журналамі проксі і upstream. Шукайце закрыццё upstream, прамежкавае пераўтварэнне або скасаванне прыкладаннем у гэтай кропцы.

Не рабіце выснову пра фарміраванне HTTP з памеру буфера TCP. Адно чытанне socket можа змяшчаць палову chunk або некалькі chunk; бібліятэка можа затым паказаць дэкадаванае змесціва ў розных буферах. Запіс JSON мае яшчэ адну мяжу. Проксі можа перафарміраваць адказ, не захоўваючы арыгінальныя межы пакетаў.

Калі доказы паказваюць на старую рэалізацыю Squid, захавайце яе нумар выпуску разам з гэтай высновай. Парады па патчах для Squid 2.x не апісваюць кожны сучасны выпуск. Падчас параўнання захоўвайце звычайнае дэкадаванне і праверку сертыфіката: задушэнне памылкі можа пакінуць няпоўны файл падобным на паспяховае спампоўванне.

Падобныя артыкулы