map и limit req

sergey_s nginx-forum at nginx.us
Wed Mar 20 18:46:20 UTC 2013


Здравствуйте
Друзья, растолкуйте пожалуйста такой кусок конфига, найден тут, в рассылке

map $http_user_agent $bot_ua {
~bot bot;
}

limit_req_zone $bot_ua zone=bot:10m rate=1r/s;
limit_req zone=bot burst=120;

я понимаю как работает map, но хоть убей не понимаю как она связана тут с
limit_req_zone  ( дока тоже мне как-то свет не проливает на это )
что в  $http_user_agent на начальном этапе понятно, в $bot_ua - пустая
строка
далее, при нахождении в $http_user_agent подстроки bot, $bot_ua,
присваивается значение  bot
правильно ?
а далее, меня сбивает с толку 

limit_req_zone $bot_ua... ..

предположим нужная подстрока найдена, тогда переменная $bot_ua = bot
в итоге получается:

limit_req_zone bot zone=bot:10m rate=1r/s;
limit_req zone=bot burst=120;

правильно ?
тогда как это вообще работает ? 

расскажите если не трудно

и вопрос связанный со всем этим
нужно резать канал конкретным юзерагентам из определенного списка, ( либо
через инклуд списка, либо просто перечисленыым в директиве map )

Заранее благодарен

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,237601,237601#msg-237601



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