Re: "Придержать" соединения на время
видимо, речь идет про https://nginx.org/ru/docs/http/ngx_http_upstream_module.html#queue аналогичный механизм есть в haproxy https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4.2-maxconn чт, 8 авг. 2019 г. в 12:17, Алексей Сундуков : > Есть ли возможность при недоступности бэка (временной, буквально на пару > секунд) на клиент не отдавать сразу '502 Bad Gateway', а повторить попытку > через Х секунд удерживаю при этом коннект с клиентом? > > Я так понимаю из коробки такой возможности нет, но может это можно сделать > через lua/nginJs? > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: "Придержать" соединения на время
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 mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
"Придержать" соединения на время
Есть ли возможность при недоступности бэка (временной, буквально на пару секунд) на клиент не отдавать сразу '502 Bad Gateway', а повторить попытку через Х секунд удерживаю при этом коннект с клиентом? Я так понимаю из коробки такой возможности нет, но может это можно сделать через lua/nginJs? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru