Модуль ngx_http_limit_conn_module | english русский 简体中文 עברית 日本語 türkçe новости [en] об nginx скачать безопасность [en] pgp ключи [en] документация faq ссылки [en] книги [en] поддержка пожертвования [en] trac wiki nginx.com | ||||||||||||||||||||||||
Модуль Ограничиваются не любые соединения, а лишь те, в которых имеются запросы, обрабатываемые сервером, и заголовок запроса уже прочитан. Пример конфигурации
http { limit_conn_zone $binary_remote_addr zone=addr:10m; ... server { ... location /download/ { limit_conn addr 1; }
Директивы
Задаёт зону разделяемой памяти и максимально допустимое число соединений для одного значения ключа. При превышении этого числа в ответ на запрос сервер вернёт ошибку 503 (Service Temporarily Unavailable). Например, директивы limit_conn_zone $binary_remote_addr zone=addr:10m; server { location /download/ { limit_conn addr 1; } разрешают одновременно обрабатывать не более одного соединения с одного IP-адреса.
Допустимо одновременное указание нескольких директив
limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server { ... limit_conn perip 10; limit_conn perserver 100; }
Директивы наследуются с предыдущего уровня при условии, что на данном уровне
не описаны свои директивы
Эта директива появилась в версии 0.8.18. Задаёт желаемый уровень записи в лог случаев ограничения числа соединений.
Задаёт параметры зоны разделяемой памяти, которая хранит состояние для разных значений ключа. Состояние в частности хранит текущее число соединений. Ключом является любое непустое значение заданной переменной (пустые значения не учитываются). Пример использования: limit_conn_zone $binary_remote_addr zone=addr:10m;
Здесь в качестве ключа используется IP-адрес клиента.
Обратите внимание, что вместо переменной
Эта директива устарела в версии 1.1.8, вместо неё следует использовать аналогичную директиву limit_conn_zone с изменённым синтаксисом:
|