ПРОЕКТЫ 


  АРХИВ 


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: проблема с limit_req - client timed out



Hello!

On Wed, Mar 25, 2009 at 07:34:17PM +0100, Sergey Bondari wrote:

> Hello nginx-ru,
> 
>       При включении limit_req nginx 0.7.43 и 0.7.38 (на других не
>       тестировалось) внештатно обрывает соединение с клиентом.
> 
>       Установлено на 30 реквестов за 60 секунд.
> 
>       В приложении отладочные логи, TCP логи из Wireshark, терминал
>       логи.

В приложении нет отладочных логов, для получения отладочных логов 
необходимо пересобрать nginx, указав ./configure ключ 
--with-debug.  В логе должны появится строки с '[debug]'.

Судя по

2009/03/25 14:21:55 [warn] 28837#0: *17 delaying request, excess: 0.999, by 
zone "spire", client: 82.208.43.89, server: www.tanita.com, request: "GET /en/ 
HTTP/1.0", host: "www.tanita.com"
2009/03/25 14:21:56 [info] 28837#0: *15 client 82.208.43.89 closed keepalive 
connection
2009/03/25 14:21:57 [info] 28837#0: *17 client timed out (110: Connection timed 
out) while sending to client, client: 82.208.43.89, server: www.tanita.com, 
request: "GET /en/ HTTP/1.0", upstream: "http://192.168.1.169:80/en/";, host: 
"www.tanita.com"

срабатывает таймаут на отправку данных клиенту.  Возможно он 
слишком мал, и задержка от limit_req приводит к этому.

Если вы хотите только отсекать запросы сверх определённой частоты, 
но не заставлять клиентов ждать - используйте limit_req ... 
nowait.

И не забывайте, что задание limit_req без указания burst смысла не 
имеет.

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.