Nginx upstream - server down

Sergey Kobzar sergey.kobzar на itcraft.org
Ср Авг 3 19:36:01 UTC 2011


Промахнулся с ошибкой. Если один из бэкендов (Nginx) в дауне, то 
фронтенд (Nginx) возвращает 504 ошибку:

504 Gateway Time-out
nginx/1.0.4

Очень хотелось бы пофиксить это дело и выкидывать недоступный сервер из 
пула автоматичекски.


On 08/03/11 22:11, Sergey Kobzar wrote:
> Сегодня отвалился один из серверов. Фронтенд не исключил его из пула.
>
> Что не так?
>
> nginx/1.0.4
>
>
> On 08/03/11 15:44, Sergey Kobzar wrote:
>> Имеется фронтэнд с группой бэкендов:
>>
>> upstream backend {
>> ip_hash;
>> server a.b.c.d;
>> server e.f.g.h;
>> }
>>
>> server {
>> listen 80 default;
>>
>> location / {
>> proxy_pass http://backend;
>> proxy_next_upstream error timeout http_502 http_504;
>>
>> proxy_set_header Host $host;
>> proxy_set_header X-Real-IP $remote_addr;
>> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>> }
>> }
>>
>> Если на одном из бэкендов потушить Nginx - все ОК, запросы переходя на
>> доступный бэкенд. Если же выключить полностью сервер, frontend по
>> таймауту в 30-60 сек. выдает 502 ошибку.
>>
>> Видимо в первом случае frontend получает ICMP сообщение, что порт
>> недоступен, а во втором случае соотв. ничего не получает.
>>
>> Какое есть решение?
>>
>> Спасибо.
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



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