nginx proxy cache битые файлы

Vladislavik nginx-forum на forum.nginx.org
Вт Янв 4 10:49:34 UTC 2022


Добрый день, nginx проксирует запросы к удаленному бэкэнду. Удаленный nginx
бэкэнд сжимает динамические ответы brotli и отдает через HTTP1.1
chunked_transfer_encoding. 

Иногда в кэше появляются не полные части файлов. Вопрос: nginx при
наступлении proxy_cache_min_uses должен сохранить ответ, НО если ответ был
не полным то nginx его все равно сохранит или перезапросит или отложит
сохранение до следующего запроса? 

При разборе кэш файла из proxy_cache директории видно, что он был сжат и
отправлялся по chunked_transfer_encoding без указания Content-Lenght. Nginx
же по идее должен перед сохранением в кэш удостовериться, что файл получен
полностью, с случае если Content-Lenght указан смотреть на полученный
размер, если не указан, то ожидать чанка с содержимым "0<CRLF><CRLF>"

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,293246,293246#msg-293246




Подробная информация о списке рассылки nginx-ru