ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: max_fails=7 fail_timeout=10s



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



 




Copyright © Lexa Software, 1996-2009.