Re: несколько http_limit_req_module

Konstantin Svist fry.kun на gmail.com
Вт Июн 15 02:55:54 MSD 2010


А обязательно бэкенд для x-accel-redirect?
Вроде так 2й limit_req не срабатывает:

location / {
    limit_req zone=myzone_ip burst=2 nodelay;
    add_header "X-Accel-Redirect" /foobar;
}
location /foobar {
    limit_req zone=myzone_x  burst=2 nodelay;
  ...



On 06/14/2010 02:46 PM, SaveFrom.net wrote:
> Здравствуйте. 
>
> 15 июня 2010 г. 0:41 пользователь Konstantin Svist <fry.kun at gmail.com
> <mailto:fry.kun at gmail.com>> написал:
>
>     Если нельзя включить в обычном режиме, можно ли что-нибудь придумать с
>     subrequest-ами?
>
> В обычном режиме включить нельзя, хотя Игорь писал в рассылке, что
> собирается это поправить. Однако это проскакивало давно.
> С сабреквестом включить можно, делая x-accel-redirect. Логика такая:
> запрос идет в 1й локейшн, в нем стоит 1й limit, на фазе access он
> отрабатывает, далее  бэкэнд выдает x-accel-redirect на локейшн, в
> котором стоит второй limit, там же обрабатывается основная часть
> запроса. У меня работает примерно так. С обычным же рерайтом не уверен
> что получится, т.к. rewrite быполняется после access.
>
>
>     On 06/12/2010 04:55 PM, Konstantin Svist wrote:
>     > Можно ли подкрутить 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 mailing list
>     nginx-ru at nginx.org <mailto:nginx-ru at nginx.org>
>     http://nginx.org/mailman/listinfo/nginx-ru
>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100614/de0ae879/attachment-0001.html>


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