no live upstreams while connecting to upstream

Alexey ngnx8810773a83 на avksrv.org
Вт Янв 8 20:10:15 UTC 2019


08.01.2019 21:01, Eugene Toropov пишет:
> Добрый вечер,
>
> Тогда получается ситуация, при которой часть запросов файрвол пропускает, а часть режет. При чем ночью до 9 утра не режет ничего, а вечером почти все. Как nginx определяет, что апстрим живой? Любой статус, отличный от 200?



посмотрите описание proxy_next_upstream


Директива также определяет, что считается неудачной попыткой работы с 
сервером. Случаи error, timeout и invalid_header всегда считаются 
неудачными попытками, даже если они не указаны в директиве. Случаи 
http_500, http_502, http_503, http_504 и http_429 считаются неудачными 
попытками, только если они указаны в директиве. Случаи http_403 и 
http_404 никогда не считаются неудачными попытками.

и директиву server из секции описания upstream

max_fails=число
     задаёт число неудачных попыток работы с сервером, которые должны 
произойти в течение времени, заданного параметром fail_timeout, чтобы 
сервер считался недоступным на период времени, также заданный параметром 
fail_timeout. По умолчанию число попыток устанавливается равным 1. 
Нулевое значение отключает учёт попыток. Что считается неудачной 
попыткой, определяется  директивами proxy_next_upstream, 
fastcgi_next_upstream, uwsgi_next_upstream,scgi_next_upstream, 
memcached_next_upstream и grpc_next_upstream.


если апстрим реально один, то укажите ему max_fails=0

А вообще смотрите запросы рядом с первым 502. там скорее всего гдето 
случились таймауты, единственный апстрим отметился как фейл и на время 
fail_timeout(10с по умолчанию) выпадает из работы.

/Алексей



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