несколько http_limit_req_module

Konstantin Svist fry.kun на gmail.com
Вс Июн 13 03:55:24 MSD 2010


Можно ли подкрутить http_limit_req_module чтобы можно было их несколько
поставить в один location?

Хочу запретить по двум признакам - по ip адресу 5r/s, а второй по $arg_x
20r/s

Такая конфигурация ругается:

location / {
    limit_req zone=myzone_ip burst=2 nodelay;
    limit_req zone=myzone_x  burst=2 nodelay;
...
>>> [emerg]: "limit_req" directive is duplicate in
/usr/local/nginx/conf/nginx.conf:57



Придумал немного через заднее место - не ругается, но и не работает
(т.е. работает только один limit_req):

location / {
    limit_req zone=myzone_ip burst=2 nodelay;
    return 404;
    error_page 404 = @foobar;
}
location @foobar {
    limit_req zone=myzone_x  burst=2 nodelay;
...


Наверное заработает если добавлю ещё один server через unix socket, но
хотелось бы обойти..



Подробная информация о списке рассылки nginx-ru