Re: map и limit req
Валентин Бартенев
vbart at nginx.com
Wed Mar 20 19:42:41 UTC 2013
On Wednesday 20 March 2013 22:46:20 sergey_s wrote:
> Здравствуйте
> Друзья, растолкуйте пожалуйста такой кусок конфига, найден тут, в рассылке
>
> 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 )
>
> Заранее благодарен
"Резать канал" это скорее к limit_rate:
http://nginx.org/r/limit_rate/ru
--
Валентин Бартенев
http://nginx.org/en/donation.html
Подробная информация о списке рассылки nginx-ru