ПРОЕКТЫ 


  АРХИВ 


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: 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


 




Copyright © Lexa Software, 1996-2009.