| Nginx-ru mailing list archive (nginx-ru@sysoev.ru) [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: geo whitelist для limit_conn
 
To: nginx-ru@xxxxxxxxxSubject: Re: geo whitelist для limit_connFrom: Maxim Dounin <mdounin@xxxxxxxxxx>Date: Wed, 19 Sep 2012 17:28:54 +0400In-reply-to: <CAKqRTSG3jfj9=qN7QkYgfsE4rMCbU4ymqS9WkdDL3WbOoR2umQ@mail.gmail.com>References: <CAKqRTSG3jfj9=qN7QkYgfsE4rMCbU4ymqS9WkdDL3WbOoR2umQ@mail.gmail.com> 
 Hello!
On Wed, Sep 19, 2012 at 04:01:18PM +0400, Aleksandr Sytar wrote:
> Добрый день,
> 
> Решил для создания белого списка адресов к которым применяется
> limit_conn использовать geo модуль, как-то так:
> 
> geo  $conn_perserver {
>               default          32;    # 32
>               127.0.0.0.1     -;    # no limit
> }
> 
> и далее:
> 
> limit_conn perip $conn_perserver;
> 
> Однако, на стадии тестирования конфига nginx рапортует:
> 
> C:\nginx>nginx.exe -t
> nginx: [emerg] invalid number of connections "$conn_perip" in 
> C:\nginx/conf/ngin
> x.conf:76
> nginx: configuration file C:\nginx/conf/nginx.conf test failed
Так и должно быть, в limit_conn не поддерживаются переменные.
Если хочется кого-то не лимитировать, можно для него использовать 
пустой ключ, как-то так:
    geo $whitelist {
        default    0;
        127.0.0.1  1;
    }
    map $whitelist $limit {
        0          $binary_remote_address;
        1          "";
    }
    limit_conn_zone $limit zone=perip:10m;
    limit_conn perip 32;
Цитата из http://nginx.org/r/limit_conn_zone/ru:
: Ключом является любое непустое значение заданной переменной 
: (пустые значения не учитываются).
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
 |