как ограничить число одновременных соединений по сетевой маске

Igor Sysoev is at rambler-co.ru
Thu Feb 14 13:27:37 MSK 2008


On Thu, Feb 14, 2008 at 11:42:59AM +0200, Vladimir Fursin wrote:

> Для контролируемого скачивания используется
> nginx-proxy + apache-backend. В php-скрипте апач
> проверяет, в числе прочего, имеет ли $remote_addr
> права на доступ, сравнивая его с маской подсети клиентов.
> Стоит задача ограничить число одновременных соединений
> так же в расчете на подсеть. Правильно ли я понял, что
> средствами ngx_http_limit_zone_module можно задать
> ограничение только в расчете на один IP? Если нет, то
> подскажите, пожалуйста, как это сделать?

В ngx_http_limit_zone_module можно задавать произвольные переменные.
Вопрос лишь в из создании. Сеть класса С можно делать так:

http {

     perl_set  $cnet  '

          sub {
              my $r = shift;
              return pack "c3", split /\./, $r->remote_addr;
          }
     ';


     limit_zone   one  $cnet   10m;



-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list