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
|