Welcome! Log In Create A New Profile

Advanced

Re: переменные из map в виде имени limit req

Maxim Dounin
May 18, 2012 08:22AM
Hello!

On Fri, May 18, 2012 at 08:15:15AM -0400, jch wrote:

> Привет!
>
> Есть задача - скрипты с одним
> юзер-агентом лимитировать по
> количеству запросов так, а с другим -
> этак
> Написал такую конфигурацию:
>
> map $http_user_agent $zone {
> default 2;
> "Script-Cool s329fj3d1jc" 10;
> "Script-Hot ASFcqin123" 5;
> }
>
> limit_req_zone $binary_remote_addr zone=2:10m rate=2r/m;
> limit_req_zone $binary_remote_addr zone=10:10m rate=10r/m;
> limit_req_zone $binary_remote_addr zone=5:10m rate=5r/m;
>
> location /api/ {
> limit_req zone=$zone burst=3 nodelay;
> proxy_pass http://127.0.0.1:8100;
> }
>
> Ругается:
> nginx: [emerg] unknown limit_req_zone "$zone" in /etc/nginx/nginx.conf
> внутри if limit_req не работает.
> Получается совсем грустно.

Должно сработать как-то так:

map $http_user_agent $limit2 {
default $binary_remote_addr;
"cool" "";
"hot" "";
}

map $http_user_agent $limit10 {
default "";
"cool" $binary_remote_addr;
}

limit_req_zone $limit2 zone=2:10m rate=2r/m;
limit_req_zone $limit10 zone=10:10m rate=2r/m;

location /api/ {
limit_req zone=2 burst=3 nodelay;
limit_req zone=10 burst=3 nodelay;
...
}

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: переменные из map в виде имени limit req

Maxim Dounin May 18, 2012 08:22AM

Re: переменные из map в виде имени limit req

jch May 18, 2012 09:06AM

Re: переменные из map в виде имени limit req

Maxim Dounin May 18, 2012 09:44AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 172
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready