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>