Quantcast
Channel: Nginx Forum - Nginx Mailing List - Russian
Viewing all articles
Browse latest Browse all 3102

Торможение ботов через limit_req (no replies)

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

Захотелось тут ограничить количество запросов, приходящих от ботов.
Написал вот так:

map $http_user_agent $rpm {
default 999999;
~bot 1;
}

limit_req_zone $binary_remote_addr zone=one:10m rate=$rpm r/s;

Но оказалось: invalid number of arguments in "limit_req_zone" directive

Ошибку осознал. Переписал вот так:

map $http_user_agent $ua_zone {
default notbot;
~bot bot;
}

limit_req_zone $http_user_agent zone=bot:10m rate=1r/s;
limit_req_zone $http_user_agent zone=notbot:10m rate=999999r/s;
limit_req zone=$ua_zone burst=120;

Выдало:unknown limit_req_zone "$ua_zone"

Пришлось пока применить старый, но не совсем мне подходящий способ:
if ($http_user_agent ~ "bot"){
set $limit_rate 1000;
}

Подскажите пожалуйста, как ограничить количество запросов через
limit_req для юзерагентов, для которых матчится регэксп?

--
С уважением,
Михаил mailto:postmaster@softsearch.ru

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

Viewing all articles
Browse latest Browse all 3102

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>