ПРОЕКТЫ 


  АРХИВ 


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[2]: Ограничение по количе ству соединений для несв оих



Здравствуйте, Maxim.

Вы писали 2 февраля 2012 г., 12:33:21:

>> Хочется ограничить количество соединений на IP для всех, кроме некого,
>> избранного списка IP-адресов.
>> Вариантов реализации через nginx не нашел.
>> Это я плохо смотрел или так оно и есть.
>> 
>> P.S. Дятлы задолбали.

> Как-то так должно работать:

>     geo $white {
>         default         "0";
>         127.0.0.1       "1";
>         192.168.0.0/16  "1";
>     }

>     map $white $limit_addr {
>         default  $binary_remote_addr;
>         "1"      "";
>     }

>     limit_conn_zone  $limit_addr  zone=one:10m;
>     limit_conn one 5;

> Смысл состоит в том, чтобы для "адресов из избранного списка" в 
> переменную, по которой установлено ограничение, попала пустая 
> строка.

> (Note: синтаксис для 1.1.8+, в старых версиях вместо 
> limit_conn_zone следует писать limit_zone со старым же 
> синтаксисом.  Подробнее в документации.)

Спасибо, за вариант решения.
Но че-то он у меня не совсем работает.
------------http-----------
    geo $whitelist {
        default "0";
        127.0.0.1 "1";
    }
    map $whitelist $limit_addr {
        default  $binary_remote_addr;
        "1"      "";
    }
    limit_zone one $limit_addr 10m;
---------------------------
-----------server----------
    limit_conn one 1;
---------------------------

Натравливаю ab: ab -c 5 -n 100 http://site/index.php

В выводе:
......
Time taken for tests:   0.389 seconds
Complete requests:      100
Failed requests:        19
......

В логе, из 100 запросов - 19 имеют 503 код.
---------index.php---------
<?
phpinfo();
?>
---------------------------


Почему не 99 запросов отрубило, а 19?
Из-за того, что 6 воркеров и они между собой информацией не
поделились?

P.S. Nginx древний, 0.6.34





-- 
С уважением,
Лобахин Илья
Системный администратор
NIKITA.ONLINE
115201, Москва, Каширское  шоссе д. 22/4 строение 7
e-mail: mailto:i.lobahin@xxxxxxxxxxxxxxx
Тел./Факс: +7 (495) 788-7936
http://www.nikitaonline.ru
http://www.gamexp.ru

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


 




Copyright © Lexa Software, 1996-2009.