Добрый день, 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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить