Welcome! Log In Create A New Profile

Advanced

Re: limit req не для всех

Sergey Shepelev
October 26, 2009 07:44AM
2009/10/26 Igor Sysoev <is@rambler-co.ru>:
> 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;
Subject Author Posted

Re: limit req не для всех

Igor Sysoev October 26, 2009 07:02AM

Re: limit req не для всех

webscripter October 26, 2009 07:34AM

Re: limit req не для всех

Sergey Shepelev October 26, 2009 07:44AM

Re: limit req не для всех

Maxim Dounin October 26, 2009 08:06AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 96
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready