Привет!
Есть задача - скрипты с одним юзер-агентом лимитировать по количеству запросов так, а с другим - этак
Написал такую конфигурацию:
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 не работает.
Получается совсем грустно.