Прокси арқылы ERR_INVALID_CHUNKED_ENCODING қатесін зерттеу
Жауаптың қай жерде толық емес немесе бүлінгенін оның құрылымын, тоқтау нүктесін және прокси маршрутының журналдарын салыстыру арқылы анықтаңыз.
ERR_INVALID_CHUNKED_ENCODING жауапты толық chunked хабарлама ретінде декодтау мүмкін болмағанын білдіреді. Мазмұнның бір бөлігінің сәтті келуі жауаптың қалған бөлігінің жарамды болғанын дәлелдемейді.
- Жауап тақырыптарын және декодердің бірінші қатесін сақтаңыз. Оны қай компонент хабарлағанын және хабарламаның chunked деп жарияланғанын анықтаңыз.
- Тоқтау нүктесін табыңыз. HTTP/1.1 chunked кодтау өлшемдерді, сәйкес деректерді, бөлгіштерді және аяқтайтын chunk-ты қажет етеді, қажет болғанда trailers-пен. Қосылымның ерте жабылуы мен бүлінген өлшем — әртүрлі іздер.
- Сол бақыланатын сұранысты көзделген маршрутта салыстырыңыз. Сұранысты прокси және upstream журналдарымен сәйкестендіріңіз. Сол нүктеде upstream жабылуын, делдалдық түрлендіруді немесе қосымшаның болдырмауын іздеңіз.
HTTP құрылымын TCP буферінің өлшемінен болжамдамаңыз. Бір socket оқуы жарты chunk немесе бірнеше chunk қамтуы мүмкін; содан кейін кітапхана декодталған мазмұнды басқа буферлерде көрсетуі мүмкін. JSON жазбасының тағы бір шекарасы бар. Прокси түпнұсқа пакет шекараларын сақтамай жауапты қайта құрылымдай алады.
Егер дәлелдер ескі Squid іске асырылуын көрсетсе, оның шығарылым нөмірін осы қорытындымен бірге сақтаңыз. Squid 2.x патч кеңестері әрбір ағымдағы шығарылымды сипаттамайды. Салыстыру кезінде қалыпты декодтау мен сертификатты тексеруді сақтаңыз: қатені басу толық емес файлды сәтті жүктеу сияқты көрсетуі мүмкін.