Welcome! Log In Create A New Profile

Advanced

limit_req - feature request?

June 18, 2010 10:06AM
Добрый день!

Недавно мне тут на форуме понятно объяснили как работает limit_req_zone
http://forum.nginx.org/read.php?21,92320,92320#msg-92320

Теперь непонятно как это применять.

Меня напрягают боты, которые сканируют *.php на различные уязвимости.
С ними у меня хорошо справляется fail2ban. Но он смотрит логи только 1 раз в секунду, а сервер быстрый, конал толстый, 50 плохих запросов такие боты легко могут пропихнуть перед тем как их заблокирует fail2ban.

У меня генерируется html со ссылками на картинки <img src=...>.

Ну поставил на location "/" ограничение 1r/s с burst 20 и nodelay. Это уже бестолково, так как 20 запросов за первую секунду пролазят легко. Или 21?

Но тут выяснилось, что на странице может располагаться до 500 картинок. Писать burst 500? А зачем тогда такое ограничение нужно?

Правильно ли я понял, что для разумного использования этого ограничения мне мало написать
location / {
proxy_pass ...;
...
...много всяких параметров...
...
}

Сейчас мне нужно описывать много вссяких location, повторять в каждом "...много всяких параметров..." и так делать индевидуально для всего имеющегося зоопарка серверов, чтобы уже в каждом location указывать разные ограничения. Это слишком муторно.

Можно ли сказать, чтобы какие-то запросы не учитывались при подсчете скорости? Например "Не считать запросы, на которые ответ с Content-Type: image/*"

Или наоборот, считать только те запросы, у которых URI содержит \.php

Как-то можно это сделать не выделяя кучу location'ов и указанием "этот location не ограничиваем", "этот location ограничиваем так-то"?

Самое удобное было бы, чтобы я смог прописать в секции http что-то такое:

http {
# ограничим тяжелые php и cgi скрипты
limit_req_zone $binary_remote_addr zone=slow:10m rate=4r/s;
limit_req zone=slow burst=2 nodelay "\.php";
limit_req zone=slow burst=2 nodelay "\.cgi";

# ограничим все остальное
limit_req_zone $binary_remote_addr zone=fast:10m rate=10r/s;
limit_req zone=fast burst=100 nodelay "\.";

server (
...
)
server (
...
)
... много других серверов ...
}
Subject Author Posted

limit_req - feature request?

vgoncharov June 18, 2010 10:06AM

Re: limit_req - feature request?

Sergej Kandyla June 18, 2010 10:48AM

Re: limit_req - feature request?

vgoncharov June 18, 2010 11:32AM

Re: limit_req - feature request?

Sergej Kandyla June 18, 2010 12:04PM

Re: limit_req - feature request?

vgoncharov June 18, 2010 01:30PM

Re: limit_req - feature request?

Igor Sysoev June 18, 2010 12:14PM

Re: limit_req - feature request?

vgoncharov June 18, 2010 01:07PM

Re: limit_req - feature request?

Igor Sysoev June 18, 2010 03:58PM

Re: limit_req - feature request?

Konstantin Svist June 18, 2010 04:32PM

Re: limit_req - feature request?

vgoncharov June 19, 2010 02:17AM

Re: limit_req - feature request?

Igor Sysoev June 19, 2010 03:14AM

Re: limit_req - feature request?

vgoncharov June 19, 2010 04:55AM

Re: limit_req - feature request?

Gena Makhomed June 19, 2010 08:00AM

Re: limit_req - feature request?

vgoncharov June 19, 2010 04:36PM

Re: limit_req - feature request?

Gena Makhomed June 19, 2010 07:42PM

Re: limit_req - feature request?

vgoncharov June 20, 2010 01:03PM

Re: limit_req - feature request?

vgoncharov June 21, 2010 03:38PM

Re: limit_req - feature request?

paranoidchaos June 20, 2010 02:59AM

Re: limit_req - feature request?

Anton Bessonov June 20, 2010 07:18AM

Re: limit_req - feature request?

paranoidchaos June 21, 2010 04:12AM

Re: limit_req - feature request?

Anton Bessonov June 21, 2010 08:40AM

Re: limit_req - feature request?

paranoidchaos June 21, 2010 09:30AM

Re: limit_req - feature request?

Anton Bessonov June 21, 2010 09:54AM

Re: limit_req - feature request?

paranoidchaos June 21, 2010 10:02AM

Re: limit_req - feature request?

Anton Bessonov June 21, 2010 10:26AM

Re: limit_req - feature request?

paranoidchaos June 21, 2010 03:22PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 337
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready