Re: Ограничение по количеству соединений для несвоих

Maxim Dounin mdounin на mdounin.ru
Чт Фев 2 08:33:21 UTC 2012


Hello!

On Thu, Feb 02, 2012 at 11:52:24AM +0400, Ilya Lobahin wrote:

> Здравствуйте, коллеги.
> 
> Хочется ограничить количество соединений на 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 со старым же 
синтаксисом.  Подробнее в документации.)

Maxim Dounin



Подробная информация о списке рассылки nginx-ru