Re: limit_req_zone, переменный rate
Maxim Dounin
mdounin на mdounin.ru
Чт Мар 11 16:18:40 MSK 2010
Hello!
On Thu, Mar 11, 2010 at 02:44:18PM +0200, Sergej Kandyla wrote:
[...]
> >>PS. вся эта затея нужна для того чтобы по различным критериям
> >>выставлять различный limit_req в пределах заданного сервера. В
> >>конкретном случае - для различных айпи делать различные limit_req.
> >
> >По различным критериям переходите в разные location'ы, где
> >применяются разные ограничения.
> >
> >Maxim Dounin
> >
> да, я ожидал подобный совет ;)
>
> Но как направить в различные локейшены указанные айпи,
> таким образом чтобы url для end-users был одинаков?
Внутренние редиректы и/или переходы в именованные location'ы всех
спасают.
limit_req_zone $binary_remote_addr zone=mostlyharmless:10m rate=10r/s;
limit_req_zone $binary_remote_addr zone=vogons:10m rate=1r/m;
...
location / {
recursive_error_pages on;
error_page 403 = @vogons;
if ($bad) {
return 403;
}
limit_req zone=mostlyharmless burst=10 nodelay;
...
}
location @vogons {
limit_req zone=vogons burst=1 nodelay;
...
}
Maxim Dounin
Подробная информация о списке рассылки nginx-ru