Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: upstream fail_timeout
Максим.
On 10/21/11 16:05, Maxim Dounin wrote:
Hello!
On Fri, Oct 21, 2011 at 03:52:02PM +0300, Sergey Kobzar wrote:
On 10/21/11 15:41, Maxim Dounin wrote:
Hello!
On Fri, Oct 21, 2011 at 02:46:45PM +0300, Sergey Kobzar wrote:
On 10/20/11 15:59, Sergey Kobzar wrote:
Конфиг:
proxy_connect_timeout 5;
upstream backend {
server 10.0.0.1 max_fails=3 fail_timeout=300s;
server 10.0.0.2 max_fails=3 fail_timeout=300s;
ip_hash;
}
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;
}
Оба бэкенда в дауне (полностью лежат). В не зависимости от числа
запросов и времени между запросами, каждый раз жду ответа по 10 секунд.
Хотя... каждый четвертый ответ приходит сразу.
Что не так? Почему оба сервера не признаются не работающими в течении
300 сек?
nginx/1.0.6
No ideas?
Если nginx обнаруживает, что все бекенды в дауне, он сбрасывает
счётчики ошибок, и очередной запрос снова пытается идти на
бекенды.
Максим, спасибо.
Плохо.
У меня задача - если все бэкенды в дауне, выводит custom error page.
А получается при proxy_connect_timeout 5 и 4х бэкендах, пользователь
будет ждать 2 секунд.
Решения я так понимаю нет?
Стандартное решение - сделать backup сервер, с которого и отдавать
"custom error page".
С ip_hash там могут быть нюансы (вообще говоря, ip_hash не
поддерживает backup, и если написать ip_hash до определения
backup-сервера - даже ругается). Но теоретически должно
заработать как-то так:
upstream backend {
server 192.2.0.1;
server 192.2.0.2;
server 127.0.0.1:8080 backup;
ip_hash;
}
До server 127.0.0.1:8080 backup не додумался.
Хм, а как тогда отдать клиенту 502 скажем вместе со странице от
127.0.0.1:8080?
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|