Как правильно совместить limit_req и ограничение по IP?
Виктор Вислобоков
corochoone на gmail.com
Сб Окт 10 21:08:10 UTC 2015
Есть некий список адресов. Для этого списка необходимо отдавать страницы
без ограничений, для всех остальных нужно сделать ограничение limit_req.
Непонятно как это правильно сделать с учётом того, что limit_req внутри if
не работает.
На одном из форумов предлагается такое решение:
geo $nolimit {
default 0;
10.0.0.0/24 1;
192.168.0.0/24 1;
}
limit_req_zone $binary_remote_addr zone=ratezone:10m rate=5r/s;
server {
...
location / {
error_page 418 = @nolimit;
if ($limit) {
return 418;
}
limit_req zone=ratezone burst=10 nodelay;
# ...
}
location @nolimit {
# ... no limit_req here
}
}
но насколько это правильно, делать такое перенаправление? Есть ли какие-то
другие способы?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20151011/8d732bf2/attachment.html>
Подробная информация о списке рассылки nginx-ru