Re: Пустая переменная $upstream status при 499

Maxim Dounin mdounin на mdounin.ru
Пн Янв 13 12:33:35 UTC 2020


Hello!

On Mon, Jan 13, 2020 at 04:46:22AM -0500, yanda.a wrote:

> Maxim Dounin Wrote:
> -------------------------------------------------------
> > Hello!
> > 
> > On Mon, Dec 30, 2019 at 03:22:01AM -0500, yanda.a wrote:
> > 
> > > Добрался до конфигурации, скину почти полную конфигурацию:
> > 
> > [...]
> > 
> > Смысла в "почти полной" конфигурации не очень много.  Нужна 
> > конфигурация, с которой воспроизводится то, на что вы жалуетесь.
> > 
> > Попробуйте воспроизвести проблемное поведение в песочнице, с 
> > использованием минимальной конфигурации.  Скорее всего в процессе 
> > станет понятно, в чём именно проблема.
> 
> Думаю, что смысла в конфигурации в принципе нет, если я все понял верно.

Нет, вы не всё поняли верно.  Вы приводите код из функции 
ngx_http_upstream_check_broken_connection(), который не может 
быть вызван, если в конфигурации сказано 
proxy_ignore_client_abort.

Соответственно либо конфигурация не такая, как вы говорите, и 
proxy_ignore_client_abort не используется, либо происходит не то, 
что вы подумали.

> Дело в том, что на текущей конфигурации мне никак не удалось воспроизвести
> это поведение в тестовом окружении. От безысходности пришлось включить дебаг
> и искать сообщения из логов в исходниках.
> 
> Например, вот что есть в логах:
> 2020/01/13 02:28:13 [info] 17855#17855: *29319057 client prematurely closed
> connection while sending to client, client: 176.59.97.91 ....
> 2020/01/13 02:28:13 [debug] 17855#17855: *29319057 http finalize request:
> 499, "/api/epg?from=1578862800&to=1578949199" a:1, c:1

Покажите debug log для соединения *29319057 плюс-минус хотя бы 
пару десятков строк от "client prematurely closed", и по 
возможности без купюр.  Возможно что-то станет понятнее.

-- 
Maxim Dounin
http://mdounin.ru/


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