Mercurial > hg > nginx-site
diff xml/ru/docs/stream/ngx_stream_limit_conn_module.xml @ 1517:53ae63cb4cfa
Added the limit_conn module for stream.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Thu, 18 Jun 2015 21:04:07 +0300 |
parents | xml/ru/docs/http/ngx_http_limit_conn_module.xml@7d028fc94593 |
children | 6c96a644b0b3 |
line wrap: on
line diff
copy from xml/ru/docs/http/ngx_http_limit_conn_module.xml copy to xml/ru/docs/stream/ngx_stream_limit_conn_module.xml --- a/xml/ru/docs/http/ngx_http_limit_conn_module.xml +++ b/xml/ru/docs/stream/ngx_stream_limit_conn_module.xml @@ -7,24 +7,20 @@ <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> -<module name="Модуль ngx_http_limit_conn_module" - link="/ru/docs/http/ngx_http_limit_conn_module.html" +<module name="Модуль ngx_stream_limit_conn_module" + link="/ru/docs/stream/ngx_stream_limit_conn_module.html" lang="ru" - rev="5"> + rev="1"> <section id="summary"> <para> -Модуль <literal>ngx_http_limit_conn_module</literal> позволяет ограничить +Модуль <literal>ngx_stream_limit_conn_module</literal> (1.9.3) позволяет +ограничить число соединений по заданному ключу, в частности, число соединений с одного IP-адреса. </para> -<para> -Учитываются не все соединения, а лишь те, в которых имеются -запросы, обрабатываемые сервером, и заголовок запроса уже прочитан. -</para> - </section> @@ -32,7 +28,7 @@ IP-адреса. <para> <example> -http { +stream { limit_conn_zone $binary_remote_addr zone=addr:10m; ... @@ -41,9 +37,10 @@ http { ... - location /download/ { - limit_conn addr 1; - } + limit_conn addr 1; + limit_conn_log_level error; + } +} </example> </para> @@ -55,49 +52,30 @@ http { <directive name="limit_conn"> <syntax><value>зона</value> <value>число</value></syntax> <default/> -<context>http</context> +<context>stream</context> <context>server</context> -<context>location</context> <para> Задаёт зону разделяемой памяти и максимально допустимое число соединений для одного значения ключа. -При превышении этого числа в ответ на запрос сервер вернёт ошибку -<http-status code="503" text="Service Temporarily Unavailable"/>. +При превышении этого числа сервер закроет соединение. Например, директивы <example> limit_conn_zone $binary_remote_addr zone=addr:10m; server { - location /download/ { - limit_conn addr 1; - } + ... + limit_conn addr 1; +} </example> разрешают одновременно обрабатывать не более одного соединения с одного IP-адреса. -<note> -В SPDY каждый параллельный запрос считается отдельным соединением. -</note> </para> <para> Допустимо одновременное указание нескольких директив <literal>limit_conn</literal>, при этом будет срабатывать любое из ограничений. -Например, следующая конфигурация ограничивает число соединений с сервером -с одного клиентского IP-адреса и в то же время ограничивает общее число -соединений с виртуальным хостом: -<example> -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; -} -</example> - </para> <para> @@ -115,10 +93,8 @@ server { <literal>warn</literal> | <literal>error</literal></syntax> <default>error</default> -<context>http</context> +<context>stream</context> <context>server</context> -<context>location</context> -<appeared-in>0.8.18</appeared-in> <para> Задаёт желаемый уровень записи в лог случаев ограничения @@ -128,84 +104,38 @@ server { </directive> -<directive name="limit_conn_status"> -<syntax><value>код</value></syntax> -<default>503</default> -<context>http</context> -<context>server</context> -<context>location</context> -<appeared-in>1.3.15</appeared-in> - -<para> -Позволяет переопределить код ответа, используемый при отклонении запросов. -</para> - -</directive> - - <directive name="limit_conn_zone"> <syntax> <value>ключ</value> <literal>zone</literal>=<value>название</value>:<value>размер</value></syntax> <default/> -<context>http</context> +<context>stream</context> <para> Задаёт параметры зоны разделяемой памяти, которая хранит состояние для разных значений ключа. Состояние в частности содержит текущее число соединений. -В качестве ключа можно использовать текст, переменные и их комбинации. +На данный момент возможным значением для <value>ключа</value> является +адрес клиента в бинарном виде, указываемый как +<literal>$binary_remote_addr</literal>. Запросы с пустым значением ключа не учитываются. -<note> -До версии 1.7.6 в качестве ключа можно было задать ровно одну переменную. -</note> Пример использования: <example> limit_conn_zone $binary_remote_addr zone=addr:10m; </example> -Здесь в качестве ключа используется IP-адрес клиента. -Обратите внимание, что вместо переменной <var>$remote_addr</var> -использована переменная <var>$binary_remote_addr</var>. -Длина значения переменной <var>$remote_addr</var> может колебаться -от 7 до 15 байт, при этом размер хранимого состояния составляет -либо 32, либо 64 байта на 32-битных платформах и всегда 64 -байта на 64-битных. -Длина значения переменной <var>$binary_remote_addr</var> всегда +Здесь в качестве ключа используется IP-адрес клиента, +задаваемый ключом <literal>$binary_remote_addr</literal>. +Длина значения <literal>$binary_remote_addr</literal> равна 4 байтам, при этом размер состояния всегда равен 32 байтам на 32-битных платформах и 64 байтам на 64-битных. В зоне размером 1 мегабайт может разместиться около 32 тысяч состояний размером 32 байта или 16 тысяч состояний размером 64 байта. -При переполнении зоны в ответ на последующие запросы сервер будет -возвращать ошибку -<http-status code="503" text="Service Temporarily Unavailable"/>. +При переполнении зоны сервер закроет соединение. </para> </directive> -<directive name="limit_zone"> -<syntax> - <value>название</value> - <value>$переменная</value> - <value>размер</value></syntax> -<default/> -<context>http</context> - -<para> -Эта директива устарела в версии 1.1.8 -и была удалена в версии 1.7.6. -Вместо неё следует -использовать аналогичную директиву <link id="limit_conn_zone"/> -с изменённым синтаксисом: -<note> -<literal>limit_conn_zone</literal> -<value>$переменная</value> -<literal>zone</literal>=<value>название</value>:<value>размер</value>; -</note> -</para> - -</directive> - </section> </module>