Welcome! Log In Create A New Profile

Advanced

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

October 26, 2009 07:34AM
Igor Sysoev Пишет:
-------------------------------------------------------
> 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 на данном уровне конфига.
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: 130
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