max_fails=7 fail_timeout=10s
Maxim Dounin
mdounin at mdounin.ru
Mon Mar 3 04:51:27 MSK 2008
Hello!
On Mon, Mar 03, 2008 at 02:45:03AM +0300, Denis Shaposhnikov wrote:
>Никак не пойму. Имеет вот такая конфигурация:
>
> proxy_connect_timeout 30;
> proxy_next_upstream error timeout invalid_header http_500;
>
> upstream backend {
> server 127.0.0.1:8080 max_fails=7 fail_timeout=10s;
> server 127.0.0.2:81 backup;
> }
>
>Смотрю access.log:
>
>"127.0.0.1:8080, 127.0.0.1:8080" "30.000, 0.098"
>
>Т.е. nginx отправил запрос на 127.0.0.1 и после того, как сработало
>событие http_500, отправил на 127.0.0.1 опять. Почему? Ведь в upstream
>127.0.0.1:8080 указано один раз. Означает-ли указанные max_fails и
>fail_timeout, что nginx будет пытаться отправить запрос на 127.0.0.1
>семь раз? Не, не понимаю. Разъясните пожалуйста поведение nginx?
Это баг в реализации backup серверов. Если поставить max_fails=0
(пофиксив ещё один баг по дороге), то при полностью неработающих
бекендах nginx сейчас сваливается в такой ситуации в бесконечный цикл.
Maxim Dounin
More information about the nginx-ru
mailing list