Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Отдельный лог файл для м одуля ngx_http_limit_req_module
Hello!
On Tue, Mar 15, 2011 at 06:52:30PM +0300, Alex Beljanski wrote:
> Доброго времени суток.
> В общем, ситуация такая.
> Есть модуль ngx_http_limit_req_module, работает отлично и выдает
> 503-ую ошибку кому надо. Ну т.е. в принципе с потоком всяких DDOS-еров
> справляется. Но вот хотелось бы чтобы он писал сообщение о том, что IP
> превысил порог запросов в отдельный файл, грубо говоря единый для
> виртуальных хостов.
> Сейчас у меня под каждый виртуальный хост свой error_log. Задать два
> error_log для виртуального хоста я как понял нельзя, потому что nginx
> ругаться начинает.
> Я просто думал на разные error_log повесить сообщения с разным уровнем
> логирования.
> Ну т.е. для основного оставить info, а для другого сделать warn, при
> этом указав в limit_req_log_level тоже уровень warn.
>
> Такого сделать не получилось, вот поэтому хотелось бы чтобы модуль
> ngx_http_limit_req_module свое сообщение помещал в отдельный файл,
> чтобы из него можно было потом выдергивать IP и особо ретивых банить
> на фаерволе.
>
> Я с nginx новичок, и если можно как-то по-другому решить мою задачу,
> буду только признателен.
Можно отправить обработку 503 в отдельный location, и там завести
отдельный (или дополнительный) access_log, в который всё и будут
попадать. Как-то так:
location / {
error_page 503 /503.html;
limit_req ...
...
}
location = /503.html {
access_log /path/to/log format;
}
В самом nginx'е 503 может возникнуть только из-за limit_req или
limit_conn. Но следует иметь ввиду, что если используется
proxy_intercept_errors/fastcgi_intercept_errors - туда же попадут
503-е ответы от бекендов. При необходимости их отделять - надо
логгировать значение $upstream_status, и проверять уже при анализе
логов.
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|