ПРОЕКТЫ 


  АРХИВ 


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: limit_req и белый список


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: limit_req и белый список
  • From: "Alex, the Marrch Ca'at" <marrch.caat@xxxxxxxxx>
  • Date: Sat, 19 Sep 2009 03:35:51 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=MqfDFOXvAH1o27jnqk7W6pNZx/9l376pXWKoQVoJimQ=; b=r/lTFET+YjyH9m/ieLywgSLYL0ALtsVKRyFpMPo0qAQQb5AaWtXeFBsg+pF1q7XFMx IyCfuh2Vy3nC64Rd6NbjH+yNOfLzJktjHYD9zHi+z8QSWKRmKVu6VFMK6cEKpwUSg9bJ 2Ai0hCoB9rC2rGZp8LSIzy1mk8BkIDZUSx9yk=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=J35CBij3wn0DtH0hYa4k2j49Kk+O20tsoHr4KzItuUIt5l87n6UILlIdL/Eok98tGi xnRusITPRPb7oyb1xsj9aSm6jAlqznUvh4gOQKIQjKECBGVM0UL4e6BL12UVAz6NBaKM 3JMMFWT7/JNKGJrsvy/T8t3nZABAxUAZG1m9g=
  • In-reply-to: <a72163d20909181449n5404a6e0wd19d0f5704f93416@xxxxxxxxxxxxxx>
  • References: <a72163d20909181449n5404a6e0wd19d0f5704f93416@xxxxxxxxxxxxxx>

В if-е делать сброс на специальный именованный локейшен, в котором уде
и прописать нужный limit_req?

2009/9/19 Sergey Novikov <snov@xxxxxx>:
> Здравствуйте.
>
> Хочется выборочно использовать limit_req, но не для всех IP, так как
> на некоторых одновременно может быть много пользователей (и много
> запросов).
>
> Придумал такую конструкцию:
>
> http {
>  # Список адресов, для которых отвечаем без ограничений
>  geo $whitelist {
>    default  no;
>    80.239.224.0/24  opera;
>    # и т.д.
>  }
>
>  limit_req_zone $binary_remote_addr zone=backend:10m rate=10r/s;
> }
>
> location /
> {
>  if ($whitelist = no) {
>    limit_req zone=backend burst=20;
>  }
> }
>
> Не знаю, правильна ли эта конструкция с geo, но надеюсь моя мысль ясна
> - для неизвестных ip
> установить ограничение.
>
> Проблема в том, что nginx сообщает:
> # nginx -t
> [emerg]: "limit_req" directive is not allowed here in ...
>
> Если убрать if, то все в порядке, но теряется смысл списка.
> limit_req zone=backend burst=$var; кажется, тоже не работает...
>
> Придумать среднее значения для всех не получается.
>
> Скажите, можно ли как-то это сделать?
>


 




Copyright © Lexa Software, 1996-2009.