Nginx upstream - server down

Sergey Kobzar sergey.kobzar на itcraft.org
Ср Авг 3 12:44:09 UTC 2011


Имеется фронтэнд с группой бэкендов:

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