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@xxxxxxxxx
- Subject: Re: geo whitelist для limit_conn
- From: Maxim Dounin <mdounin@xxxxxxxxxx>
- Date: Wed, 19 Sep 2012 17:28:54 +0400
- In-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
|