Re: "Придержать" соединения на время
Evgeniy Berdnikov
bgx на protva.ru
Чт Авг 8 07:59:16 UTC 2019
On Thu, Aug 08, 2019 at 11:17:17AM +0400, Алексей Сундуков wrote:
> Есть ли возможность при недоступности бэка (временной, буквально на пару
> секунд) на клиент не отдавать сразу '502 Bad Gateway', а повторить попытку
> через Х секунд удерживаю при этом коннект с клиентом?
Какой именно недоступности? Если бэкенд не отвечает, то ядро ОС
продолжает ретрасмиссии, до таймаута. Увеличьте таймаут.
Если бэкенд отвечает RST, потому что сервис на нём не запущен, то
подумайте, как правильно поднимать сервис, чтобы такого не было.
Если же он отвечает RST из-за перегрузки (переполнение backlog'a),
лучше всего выбросить винду с её кривой сетью и поставить бэкенд на юникс.
В крайнем случае можно просто зарубить все RST от виндового сервиса
пакетным фильтром, тогда обрывы коннекций превратятся в таймауты.
> Я так понимаю из коробки такой возможности нет, но может это можно сделать
> через lua/nginJs?
--
Eugene Berdnikov
Подробная информация о списке рассылки nginx-ru