Welcome! Log In Create A New Profile

Advanced

Re: proxy_store периодически сохраняет только часть ответа :(

Maxim Dounin
December 03, 2018 09:40AM
Hello!

On Sun, Dec 02, 2018 at 11:18:05PM +0300, Виктор Вислобоков wrote:

> Схема такая: nginx(1) -> nginx(2) -> httpd
> На nginx(1) пытаюсь сделать кастомный статик кэш через proxy_store. Почти
> работает, но в произвольный момент времени сохраняет на диск не всю
> страницу с ответом, а только её часть! Это именно происходит периодически и
> не зависит ни от IP адреса ни от клиента (тот же Zabbix у меня то получает
> фрагмент и ругается на малый размер страницы, то в следующий повтор всё
> получает нормально - стоит чистка файлов, сохранённых proxy_store каждую
> минуту).
>
> Всю голову сломал - не могу понять что за ерунда!
> Судя по логам nginx(2) всегда отдаёт полный ответ.

Content-Length при этом в ответах бэкенда есть? А "только её
часть" - это именно часть, или просто пустой файл?

В случае, если именно пустой файл - проблема может быть связана с
тем, что в ответах нет Content-Length и сохраняются ответы на
HEAD-запросы.

Кроме того, опять же в случае отсутствия Content-Length,
стоит убедиться, что между nginx(1) и nginx(2), а равно между
nginx(2) и httpd - отсутствуют сетевые проблемы, и никто не
пытается преждевременно завершать процессы серверной стороны.
Либо же просто попробовать включить HTTP/1.1 с помощью директивы
proxy_http_version (http://nginx.org/r/proxy_http_version) и
посмотреть, поможет ли.

Проблема в том, что в HTTP/1.0, который nginx использует для
общения с бэкендами по умолчанию, в отсутствии Content-Length нет
какого-либо контроля целостности ответа кроме собственно
информации с уровня TCP, и если в какой-то момент бэкенд закроет
соединение (например, потому что процессу сказали завершиться, или
он решил, что случился таймаут) - то с точки зрения клиента ответ
будет полным.

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

proxy_store периодически сохраняет только часть ответа :(

Виктор Вислобоков December 02, 2018 03:20PM

Re: proxy_store периодически сохраняет только часть ответа :(

Alexey via nginx-ru December 02, 2018 04:16PM

Re: proxy_store периодически сохраняет только часть ответа :(

Виктор Вислобоков December 03, 2018 12:54AM

Re: proxy_store периодически сохраняет только часть ответа :(

Виктор Вислобоков December 03, 2018 04:18AM

Re: proxy_store периодически сохраняет только часть ответа :(

Maxim Dounin December 03, 2018 09:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 103
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready