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

SaveFrom.net savefrom на gmail.com
Вт Июн 15 10:51:10 MSD 2010


Здравствуйте.

15 июня 2010 г. 2:55 пользователь Konstantin Svist <fry.kun at gmail.com>написал:

>  А обязательно бэкенд для x-accel-redirect?
> Вроде так 2й limit_req не срабатывает:
>
А сам редирект происходит?  У меня работает, когда бэкэнд отдает
x-accel-redirect, единственное, у меня используется  limit_conn.

>
> 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>написал:
>
>> Если нельзя включить в обычном режиме, можно ли что-нибудь придумать с
>> 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
>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>
> _______________________________________________
> nginx-ru mailing listnginx-ru at nginx.orghttp://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/20100615/4ce085f9/attachment.html>


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