Персональный
сайт
Игоря
Сысоева


 
english
 
sysoev.ru
 
nginx
 поехали!    
 документация    
 поддержка    
 изменения    
 скачать    
 ссылки    
 
mod_accel
mod_realip
mod_deflate
программирование
всякая всячина
windows
freebsd
apache
pppd
unix
web
 
обо мне
для писем
для денег
 

Директивы модуля ngx_http_limit_zone_module

 

06.10.2009

Модуль ngx_http_limit_zone_module позволяет ограничить число одновременных соединений для заданной сессии или, как частный случай, с одного адреса.

Содержание

Пример конфигурации
Директивы
limit_zone
limit_conn
limit_conn_log_level

Пример конфигурации

http {
    limit_zone   one  $binary_remote_addr  10m;

    ...

    server {

        ...

        location /download/ {
            limit_conn   one  1;
        }

Директивы


syntax: limit_zone название $переменная размер
default: нет
context: http

Директива описывает зону, в которой хранятся состояния сессий. Значения сессий определяется заданной переменной. Пример использования:

limit_zone   one  $binary_remote_addr  10m;

В качестве сессии используется адрес клиента. Обратите внимание, что вместо переменной $remote_addr используется переменная $binary_remote_addr. Длина значений переменной $remote_addr может быть от 7 до 15 байт, поэтому размер состоянии равен 32 или 64 байтам. Длина всех значений переменной $binary_remote_addr всегда 4 байта и размер состояния всегда 32 байта. В зоне размером 1 мегабайт может разместиться около 32000 состояний размером 32 байта.


syntax: limit_conn зона число
default: нет
context: http, server, location

Директива задаёт максимальное число одновременных соединений для одной сессии. При превышении этого числа запрос завершается кодом "Service unavailable" (503). Например, директивы

limit_zone   one  $binary_remote_addr  10m;

    server {
        location /download/ {
            limit_conn   one  1;
        }

позволяют не более одного одновременного соединения с одного адреса.


syntax: limit_conn_log_level [info|notice|warn|error]
default: limit_conn_log_level error
context: http, server, location

Директива (0.8.18) задаёт уровень логирования случаев ограничения числа соединений.


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