Re: limit_req_zone, переменный rate
Maxim Dounin
mdounin на mdounin.ru
Чт Мар 11 15:33:26 MSK 2010
Hello!
On Thu, Mar 11, 2010 at 02:07:09PM +0200, Sergej Kandyla wrote:
> Господа, пытаюсь передать в limit_req_zone rate в качестве переменной.
> nginx/0.8.34
> centos5.4 i386
>
> тест конфига проходит вполне успешно
>
> http {
> limit_req_zone $binary_remote_addr zone=one:10m $rate;
> ..
>
> server {
> location / {
> limit_req zone=one ;
> set $rate "rate=3r/s";
> proxy_pass ....;
Директива limit_req_zone переменные (кроме собственно той, по
которой делается ограничение) не поддерживает, а rate по
умолчанию - 1 запрос в секунду.
В вашем случае конфиг будет проинтерпретирован как
limit_req_zone $rate zone=one:10m rate=1r/s;
т.е. ограничивать скорость до 1 запроса в секунду, различать
сессии по значению переменной $rate.
[...]
> PS. вся эта затея нужна для того чтобы по различным критериям
> выставлять различный limit_req в пределах заданного сервера. В
> конкретном случае - для различных айпи делать различные limit_req.
По различным критериям переходите в разные location'ы, где
применяются разные ограничения.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru