А fail_timeout в ngx_http_upstream_module работает?

Dmitry Y. Labutin dmitry на labutin.net
Вс Июл 8 05:47:09 UTC 2012


Доброго времени суток.

Имею вот такой конфиг:
worker_processes  10;

events {
     worker_connections  1024;
}

http {
     include       mime.types;
     default_type  application/octet-stream;

     sendfile        on;
     keepalive_timeout  65;

     upstream backend {
	server www4.company.ru backup;
	server www1.company.ru fail_timeout=600s;
	
	keepalive 64;
     }

     server {
         listen       80;
         server_name  *.company.ru;

         client_max_body_size 50m;

         location / {
     	    proxy_set_header Host $host;
     	    proxy_pass http://backend;
     	    proxy_read_timeout 180s;
         }

         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
             root   html;
         }

     }
}


Именно сейчас www1.company.ru недоступен - лег канал.
Я надеялся, что попытки nginx отправить запрос пользователей через 
www1.company.ru будут идти раз в 10 минут, но на деле, там очень много 
вот такого в error.log:
2012/07/08 09:42:02 [error] 10904#0: *5715 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 
212.33.247.144, ...
2012/07/08 09:42:03 [error] 10904#0: *5718 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 78.46.87.66, ...
2012/07/08 09:42:04 [error] 10904#0: *5720 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 195.69.65.3, ...
2012/07/08 09:42:08 [error] 10904#0: *5724 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 
178.44.179.181, ...
2012/07/08 09:42:09 [error] 10904#0: *5726 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 
79.122.162.102, ...
2012/07/08 09:42:09 [error] 10904#0: *5728 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 2.92.46.112, ...
2012/07/08 09:42:09 [error] 10904#0: *5732 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 
93.181.202.77, ...
2012/07/08 09:42:09 [error] 10904#0: *5731 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 2.92.46.112, ...
2012/07/08 09:42:09 [error] 10904#0: *5735 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 2.92.46.112, ...
2012/07/08 09:42:10 [error] 10904#0: *5737 connect() failed (110: 
Connection timed out) while connecting to upstream, client: 85.26.234.5, ...


Вопрос - почему nginx делает так много попыток соединения через 
www1.company.ru ? Ведь он же получил Connection timed out и должен был в 
соответствии с fail_timeout=600s 10 минут туда не соваться!!!
Или я что-то не так настроил?

Дмитрий Лабутин



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