ПРОЕКТЫ 


  АРХИВ 


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: Fwd: Как именно рабо тает ngx_http_limit_req_module ?



Hello!

On Wed, Feb 25, 2009 at 01:39:58PM +0300, 100chuk@xxxxxxx wrote:

> 
> > Причин может быть множество, как то:
> 
> > - конфиг не был перегружен
> > - запросы обрабатываются другим location'ом
> > - нагрузка меньше одного запроса в минуту с одного ip
> > - 503 перехватывается через error_page и переопределяется во 
> >   что-нибудь другое
> > - не туда смотрите
> 
> > Показывайте полный конфиг и соответствующие логи, тогда есть шанс 
> > что помогут.
> 
> > Maxim Dounin
> 
> Спасибо за ответ.
> 
> Конфиг здесь -  http://www.navy.ru/filearchive/temp/nginx.conf
> (некоторые location там прописаны туповато, но уж как есть).
> Инструкция limit_req_zone $binary_remote_addr zone=reqd:20m rate=5r/s;
> прописана сейчас не экспериментальная (1r/m), а живой вариант.
> 
> > - конфиг не был перегружен
> Перегружал.
> > - запросы обрабатываются другим location'ом
> По логам nginx и apache смотрю, что каждый обрабатывает что положено -
> т.е. статика до apache не доходит, он только страницы отображает
> > - нагрузка меньше одного запроса в минуту с одного ip
> В браузере я делал 50-100 запросов за минуту - без результата.
> > - 503 перехватывается через error_page и переопределяется во
> >   что-нибудь другое
> Такого нет.
> > - не туда смотрите
> Может быть. Потому и спрашиваю. )

В конфиге явно написано:

    location / {
        ...
        error_page              502 503 /usr/local/www/nginx-dist/50x.html;
    }

В результате все ошибки 503 уйдут на апач (т.к. в error_page 
указывается uri), и вероятно с той стороны вернётся 404.  Т.е. 
смотреть надо либо в логи, либо в код ответа http.  Первое 
невозможно, т.к. access_log'и у вас выключены, а второе - не из 
всякого браузера сделаешь (тело будет от 404 ответа апача).

Ещё разного:

    error_log off;

создаёт файл с именем off, и пишет туда лог ошибок на уровне crit.

    location ~* ^.+.(nrg|jpg|jpeg...)$

матчит /myjpg, что вероятно не есть желаемый эффект. Правильнее 
переписать вот так:

    location ~* \.(nrg|jpg|jpeg...)$

(ну или хотя бы просто добавить '\' перед '.').

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.