Welcome! Log In Create A New Profile

Advanced

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

Maxim Dounin
January 05, 2022 07:38AM
Hello!

On Tue, Jan 04, 2022 at 05:49:34AM -0500, Vladislavik wrote:

> Добрый день, 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>"

Неполные ответы nginx не сохраняет. Однако есть нюанс: по
умолчанию при работе с бэкендами nginx использует HTTP/1.0
(http://nginx.org/r/proxy_http_version), а значит
"Transfer-Encoding: chunked" использоваться не будет, и
соответственно для ответов без длины может быть невозможно
установить, полный он или не полный.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

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

Maxim Dounin January 05, 2022 07:38AM

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

Gena Makhomed January 05, 2022 08:00AM

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

Илья Шипицин January 05, 2022 08:20AM

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

Илья Шипицин January 05, 2022 08:24AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 321
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready