ПРОЕКТЫ 


  АРХИВ 


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: Sergey Shepelev <temotor@xxxxxxxxx>
  • Date: Mon, 26 Oct 2009 14:34:44 +0300
  • 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=69C+bDvVbx71qi/UkeWz3cZt0rvyj886EWOg9CLXaMg=; b=wOvoBE/l2iN5FJH2Ky2veVA5zLENpcm9GfVzENzTbDzUca2BpFndQPAZwMRwFuxV3s Eznpkp4gE2Fx0x6/1JfQPsEkNezAlFimVlqTvzuGxlI1di3x29Dv1b2tuPjAThtXZUDi H5PmUB4VIRwFNsyG4o9TyUI/nhvfgpEuR00b4=
  • 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=IXcHIU2mnjceADw0YSx/QWn4J/J1wIgn0HSO/6kyO3eDuu3uxDg6838F0YchUbAxyZ oHx9Ov0vC8FitBLmTEOXPxZoW8LmrLH/4b25KLIBeTbkGxG/0uQhR6+DyWJRrCo4XFmz yY0dmDF1Zxy9bms2lUo/OZUgtWwRq1mmsSPEM=
  • In-reply-to: <20091026105101.GB7141@xxxxxxxxxxxxx>
  • References: <5f89863a24c89f61ec3bdc8591d97671.NginxMailingListRussian@xxxxxxxxxxxxxxx> <20091026105101.GB7141@xxxxxxxxxxxxx>

2009/10/26 Igor Sysoev <is@xxxxxxxxxxxxx>:
> On Mon, Oct 26, 2009 at 06:16:19AM -0400, webscripter wrote:
>
>> Хочу ограничить кол-во сессий в секунду, но не для всех адресов. Есть список 
>> белых заданных с помощью директивы geo через переменную $white. А как ее 
>> подставить в конфиг для location / пока не понял. Помогите плиз.
>
> Пока никак. У меня был идея сделать как-то так:
>
> limit_req_zone  $...  zone=BOTS:10m    rate=1r/s;
> limit_req_zone  $...  zone=GOOD:10m    rate=5r/s;
>
> geo  $limit  {
>     default          1;
>
>     # while list
>     192.168.1.0/24   0;
>     192.168.10.0/24  0;
> }
>
> server {
>
>   limit_req   zone=BOTS  burst=1   if $limit;
>   limit_req   zone=GOOD  burst=20  if $limit;
>   limit_req   off;
>
> или
>
> geo  $while  {
>     default          0;
>
>     192.168.1.0/24   1;
>     192.168.10.0/24  1;
> }
>
> server {
>
>   limit_req   off  if $white;
>   limit_req   zone=GOOD  burst=20;
>   limit_req   zone=BOTS  burst=1;
>
>
>
> Но тут есть вопросы - как должны срабатывать правила: по первому
> соотвествию if или нет. Если есть несколько правил без if - проверять
> все или нет ?
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>

Предложение.

limit_req   zone=_FOO  burst=$limit;


 




Copyright © Lexa Software, 1996-2009.