ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: map и limit req



On Wed, Mar 20, 2013 at 06:38:17PM -0400, sergey_s wrote:
> странные вилы, либо я что-то опять не понимаю, если прописано
> 
> http {
> ..............
> map $http_user_agent $var {
>         default         "";
> }
> 
> limit_req_zone $var zone=limit:10m rate=10r/m;
> 
> limit_req_zone $binary_remote_addr zone=testzone:10m rate=10r/m;
> limit_req zone=testzone burst=1;
> }
> 
> server {
> ...
> limit_req zone=limit burst=1
> }
> 
> зона testzone не срабатывает
> а если убрать строку 
> limit_req zone=limit burst=1
> из блока server и прописать ее в http
> 
> http {
> .......
> map $http_user_agent $var {
>         default         "";
> }
> 
> limit_req_zone $var zone=limit:10m rate=10r/m;
> limit_req zone=limit burst=1
> 
> limit_req_zone $binary_remote_addr zone=testzone:10m rate=10r/m;
> limit_req zone=testzone burst=1;
> ......
> }
> 
> то начинает работать
> никто не сталкивался с такой странностью ?

Это не странность.  Так устроено наследование директив в
nginx.  limit_req на уровне server{} отменяет limit_req
на уровне http{}.  Если вам нужно одновременно несколько
limit_req (поддерживается начиная с версии nginx 1.1.14),
их следует указывать на одном уровне.

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


 




Copyright © Lexa Software, 1996-2009.