changeset 179:8cc01e2179a9

- Reflected recent changes made to ngx_http_limit_conn_module. - Revamped documentation for ngx_http_limit_req_module. - Translated ngx_http_limit_{conn,req}_module into English.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 14 Nov 2011 18:09:03 +0000
parents 65431179fb8f
children 9e7d0c9c7eaa
files xml/en/GNUmakefile xml/en/docs/http/ngx_http_limit_conn_module.xml xml/en/docs/http/ngx_http_limit_req_module.xml xml/en/docs/index.xml xml/en/index.xml xml/ru/GNUmakefile xml/ru/docs/http/ngx_http_limit_conn_module.xml xml/ru/docs/http/ngx_http_limit_req_module.xml xml/ru/docs/http/ngx_http_limit_zone_module.xml xml/ru/docs/index.xml xml/ru/index.xml
diffstat 11 files changed, 522 insertions(+), 204 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/GNUmakefile
+++ b/xml/en/GNUmakefile
@@ -27,6 +27,8 @@ REFS_EN =	en/docs/ngx_core_module					\
 		en/docs/http/ngx_http_empty_gif_module			\
 		en/docs/http/ngx_http_flv_module			\
 		en/docs/http/ngx_http_index_module			\
+		en/docs/http/ngx_http_limit_conn_module			\
+		en/docs/http/ngx_http_limit_req_module			\
 		en/docs/http/ngx_http_mp4_module			\
 		en/docs/http/ngx_http_random_index_module		\
 
new file mode 100644
--- /dev/null
+++ b/xml/en/docs/http/ngx_http_limit_conn_module.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
+
+<module name="Module ngx_http_limit_conn_module"
+        link="/en/docs/http/ngx_http_limit_conn_module.html"
+        lang="en">
+
+<section id="summary">
+
+<para>
+The <code>ngx_http_limit_conn_module</code> module allows
+to limit the number of connections per defined key, in
+particular, the number of connections from a single IP address.
+</para>
+
+<para>
+Not all connections are counted; only those that have requests
+currently being processed by the server, in which request header has
+been fully read.
+</para>
+
+</section>
+
+
+<section id="example" name="Example Configuration">
+
+<para>
+<example>
+http {
+    limit_conn_zone $binary_remote_addr zone=addr:10m;
+
+    ...
+
+    server {
+
+        ...
+
+        location /download/ {
+            limit_conn addr 1;
+        }
+</example>
+</para>
+
+</section>
+
+
+<section id="directives" name="Directives">
+
+<directive name="limit_conn">
+<syntax><argument>zone number</argument></syntax>
+<default/>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+
+<para>
+Sets the maximum allowed number of connections for a given key value.
+When this limit is exceeded, the server will return error
+<http-status code="503" text="Service Temporarily Unavailable"/>
+in reply to a request.
+For example, the directives
+<example>
+limit_conn_zone $binary_remote_addr zone=addr:10m;
+
+    server {
+        location /download/ {
+            limit_conn addr 1;
+        }
+</example>
+allow for only a single connection at a time, per unique IP address.
+</para>
+
+<para>
+When several <code>limit_conn</code> directives are specified,
+any configured limit will apply.
+</para>
+
+<para>
+These directives are inherited from the previous level if and
+only if there are no
+<code>limit_conn</code>
+directives on the current level.
+</para>
+
+</directive>
+
+
+<directive name="limit_conn_log_level">
+<syntax>
+<value>info</value> |
+<value>notice</value> |
+<value>warn</value> |
+<value>error</value>
+</syntax>
+<default>error</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>0.8.18</appeared-in>
+
+<para>
+Sets the desired logging level for cases when the server
+limits the number of connections.
+</para>
+
+</directive>
+
+
+<directive name="limit_conn_zone">
+<syntax>
+    <argument>$variable </argument>
+    <parameter>zone</parameter>=<argument>name</argument>:<argument>size</argument>
+</syntax>
+<default/>
+<context>http</context>
+
+<para>
+Sets the parameters for a zone that keeps states for various keys.
+This state stores the current number of connections in particular.
+The key is the value of the specified variable.
+Example usage:
+<example>
+limit_conn_zone $binary_remote_addr zone=addr:10m;
+</example>
+Here, an IP address of the client serves as a key.
+Note that instead of <var>$remote_addr</var>, the
+<var>$binary_remote_addr</var> variable is used here.
+The length of the <var>$remote_addr</var> variable's value can
+range from 7 to 15 bytes, and the stored state occupies either
+32 or 64 bytes of memory on 32-bit platforms, and always 64
+bytes on 64-bit platforms.
+The length of the <var>$binary_remote_addr</var> variable's value
+is always 4 bytes, and the stored state always occupies 32 bytes
+on 32-bit platforms, and 64 bytes on 64-bit platforms.
+One megabyte zone can keep about 32 thousand 32-bit states,
+and about 16 thousand 64-byte states.
+If the storage for a zone is exhausted, the server will return error
+<http-status code="503" text="Service Temporarily Unavailable"/>
+to all further requests.
+</para>
+
+</directive>
+
+<directive name="limit_zone">
+<syntax><argument>$variable name size</argument></syntax>
+<default/>
+<context>http</context>
+
+<para>
+This directive is made obsolete in version 1.1.8,
+the <link id="limit_conn_zone"/> directive should be used instead.
+</para>
+
+</directive>
+
+</section>
+
+</module>
new file mode 100644
--- /dev/null
+++ b/xml/en/docs/http/ngx_http_limit_req_module.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
+
+<module name="Module ngx_http_limit_req_module"
+        link="/en/docs/http/ngx_http_limit_req_module.html"
+        lang="en">
+
+<section id="summary">
+
+<para>
+The module ngx_http_limit_req_module (0.7.21) allow to limit the number
+of requests per defined key, in particular, the number of requests
+from a single IP address.
+The limitation is done using the “leaky bucket” method.
+</para>
+
+</section>
+
+
+<section id="example" name="Example Configuration">
+
+<para>
+<example>
+http {
+    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
+
+    ...
+
+    server {
+
+        ...
+
+        location /search/ {
+            limit_req zone=one burst=5;
+        }
+</example>
+</para>
+
+</section>
+
+
+<section id="directives" name="Directives">
+
+<directive name="limit_req">
+<syntax>
+    <parameter>zone</parameter>=<argument>name</argument>
+    [<parameter>burst</parameter>=<argument>number</argument>]
+    [<parameter>nodelay</parameter>]
+</syntax>
+<default/>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+
+<para>
+Sets a zone and the maximum allowed burst of requests.
+If the rate of requests exceeds the rate configured for a zone,
+request processing is delayed such as that they are processed
+at a defined rate.
+Excessive requests are delayed until their number exceeds the
+defined number of bursts.
+In this case, the request is terminated with an error
+<http-status code="503" text="Service Temporarily Unavailable"/>.
+By default, the number of bursts is equal to zero.
+For example, the directives
+<example>
+limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
+
+    server {
+        location /search/ {
+            limit_req zone=one burst=5;
+        }
+
+</example>
+allow not more than 1 request per second at an average,
+with bursts not exceeding 5 requests.
+</para>
+
+<para>
+If delaying of excessive requests while requests are being limited is not
+desired, the parameter <parameter>nodelay</parameter> should be used:
+<example>
+            limit_req zone=one burst=5 nodelay;
+</example>
+</para>
+
+</directive>
+
+
+<directive name="limit_req_log_level">
+<syntax>
+<value>info</value> |
+<value>notice</value> |
+<value>warn</value> |
+<value>error</value>
+</syntax>
+<default>error</default>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>0.8.18</appeared-in>
+
+<para>
+Sets the desired logging level for cases when the server limits
+the number of requests, or delays request processing. 
+Delays are logged with the level one less than limits; for example,
+if <command>limit_req_log_level notice</command> is specified,
+delays are logged with the <value>info</value> level.
+</para>
+
+</directive>
+
+
+<directive name="limit_req_zone">
+<syntax>
+    <argument>$variable </argument>
+    <parameter>zone</parameter>=<argument>name</argument>:<argument>size </argument>
+    <parameter>rate</parameter>=<argument>rate</argument>
+</syntax>
+<default/>
+<context>http</context>
+
+<para>
+Sets the parameters for a zone that keeps states for various keys.
+This state stores the current number of requests in particular.
+The key is the value of the specified variable.
+Example usage: 
+<example>
+limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
+</example>
+</para>
+
+<para>
+Here, the states are kept in a 10 megabyte zone “one”, and an
+average rate of requests for this zone cannot exceed
+1 request per second.
+</para>
+
+<para>
+An IP address of the client serves as a key.
+Note that instead of <var>$remote_addr</var>, the
+<var>$binary_remote_addr</var> variable is used here,
+allowing to lower the size of a state down to 64 bytes.
+One megabyte zone can keep about 16 thousand 64-byte states.
+If the storage for a zone is exhausted, the server will return error
+<http-status code="503" text="Service Temporarily Unavailable"/>
+to all further requests.
+</para>
+
+<para>
+The rate is specified in requests per second (r/s).
+If a rate of less than one request per second is desired,
+it is specified in request per minute (r/m).
+For example, half-request per second is 30r/m.
+</para>
+
+</directive>
+
+</section>
+
+</module>
--- a/xml/en/docs/index.xml
+++ b/xml/en/docs/index.xml
@@ -68,6 +68,16 @@ ngx_http_flv_module</a>
 </item>
 
 <item>
+<a href="/en/docs/http/ngx_http_limit_conn_module.xml">
+ngx_http_limit_conn_module</a>
+</item>
+
+<item>
+<a href="/en/docs/http/ngx_http_limit_req_module.xml">
+ngx_http_limit_req_module</a>
+</item>
+
+<item>
 <a href="/en/docs/http/ngx_http_index_module.xml">
 ngx_http_index_module</a>
 </item>
--- a/xml/en/index.xml
+++ b/xml/en/index.xml
@@ -137,7 +137,10 @@ streaming;
 </item>
 
 <item>
-Limiting the number of simultaneous connections or requests
+Limiting the number of simultaneous
+<link doc="docs/http/ngx_http_limit_conn_module.xml">connections</link>
+or
+<link doc="docs/http/ngx_http_limit_req_module.xml">requests</link>
 coming from one address;
 </item>
 
--- a/xml/ru/GNUmakefile
+++ b/xml/ru/GNUmakefile
@@ -28,6 +28,7 @@ DOCS_RU =	ru/docs/faq						\
 		ru/docs/http/ngx_http_headers_module			\
 		ru/docs/http/ngx_http_image_filter_module		\
 		ru/docs/http/ngx_http_index_module			\
+		ru/docs/http/ngx_http_limit_conn_module			\
 		ru/docs/http/ngx_http_limit_req_module			\
 		ru/docs/http/ngx_http_limit_zone_module			\
 		ru/docs/http/ngx_http_log_module			\
copy from xml/ru/docs/http/ngx_http_limit_zone_module.xml
copy to xml/ru/docs/http/ngx_http_limit_conn_module.xml
--- a/xml/ru/docs/http/ngx_http_limit_zone_module.xml
+++ b/xml/ru/docs/http/ngx_http_limit_conn_module.xml
@@ -2,15 +2,21 @@
 
 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
 
-<module name="Директивы модуля ngx_http_limit_zone_module"
-        link="/ru/docs/http/ngx_http_limit_zone_module.html"
+<module name="Модуль ngx_http_limit_conn_module"
+        link="/ru/docs/http/ngx_http_limit_conn_module.html"
         lang="ru">
 
 <section id="summary">
 
 <para>
-Модуль ngx_http_limit_zone_module позволяет ограничить число одновременных
-соединений для заданной сессии или, как частный случай, с одного адреса.
+Модуль <code>ngx_http_limit_conn_module</code> позволяет ограничить
+число соединений по заданному ключу или,
+как частный случай, число соединений с одного IP-адреса.
+</para>
+
+<para>
+Ограничиваются не любые соединения, а лишь те, в которых имеются
+запросы, обрабатываемые сервером, и заголовок запроса уже прочитан.
 </para>
 
 </section>
@@ -21,7 +27,7 @@
 <para>
 <example>
 http {
-    limit_zone   one  $binary_remote_addr  10m;
+    limit_conn_zone $binary_remote_addr zone=addr:10m;
 
     ...
 
@@ -30,7 +36,7 @@ http {
         ...
 
         location /download/ {
-            limit_conn   one  1;
+            limit_conn addr 1;
         }
 </example>
 </para>
@@ -40,67 +46,109 @@ http {
 
 <section name="Директивы" id="directives">
 
-<directive name="limit_zone">
-<syntax><value>название $переменная размер</value></syntax>
+<directive name="limit_conn">
+<syntax><argument>зона число</argument></syntax>
 <default/>
 <context>http</context>
+<context>server</context>
+<context>location</context>
 
 <para>
-Директива описывает зону, в которой хранятся состояния сессий.
-Значения сессий определяется заданной переменной.
-Пример использования:
+Директива задаёт максимально допустимое число соединений
+для одного значения ключа.
+При превышении этого числа в ответ на запрос сервер вернёт ошибку
+<http-status code="503" text="Service Temporarily Unavailable"/>.
+Например, директивы
 <example>
-limit_zone   one  $binary_remote_addr  10m;
+limit_conn_zone $binary_remote_addr zone=addr:10m;
+
+    server {
+        location /download/ {
+            limit_conn addr 1;
+        }
 </example>
+разрешают одновременно обрабатывать не более одного соединения с одного
+IP-адреса.
 </para>
 
 <para>
-В качестве сессии используется адрес клиента.
-Обратите внимание, что вместо переменной $remote_addr используется
-переменная $binary_remote_addr.
-Длина значений переменной $remote_addr может быть от 7 до 15 байт,
-поэтому размер состоянии равен 32 или 64 байтам.
-Длина всех значений переменной $binary_remote_addr всегда 4 байта
-и размер состояния всегда 32 байта.
-В зоне размером 1 мегабайт может разместиться около 32 000 состояний
-размером 32 байта.
+Допустимо одновременное указание нескольких директив <code>limit_conn</code>,
+при этом будет срабатывать любое из ограничений.
 </para>
 
-</directive>
-
-
-<directive name="limit_conn">
-<syntax><value>зона число</value></syntax>
-<default/>
-<context>http, server, location</context>
-
 <para>
-Директива задаёт максимальное число одновременных соединений для одной сессии.
-При превышении этого числа запрос завершается кодом "Service unavailable" (503).
-Например, директивы
-<example>
-limit_zone   one  $binary_remote_addr  10m;
-
-    server {
-        location /download/ {
-            limit_conn   one  1;
-        }
-
-</example>
-позволяют не более одного одновременного соединения с одного адреса.
+Директивы наследуются с предыдущего уровня при условии, что на данном уровне
+не описаны свои директивы <code>limit_conn</code>.
 </para>
 
 </directive>
 
 
 <directive name="limit_conn_log_level">
-<syntax><value>[info|notice|warn|error]</value></syntax>
+<syntax>
+<value>info</value> |
+<value>notice</value> |
+<value>warn</value> |
+<value>error</value>
+</syntax>
 <default>error</default>
-<context>http, server, location</context>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>0.8.18</appeared-in>
+
+<para>
+Директива задаёт желаемый уровень записи в лог случаев ограничения
+числа соединений.
+</para>
+
+</directive>
+
+
+<directive name="limit_conn_zone">
+<syntax>
+    <argument>$переменная </argument>
+    <parameter>zone</parameter>=<argument>название</argument>:<argument>размер</argument>
+</syntax>
+<default/>
+<context>http</context>
 
 <para>
-Директива (0.8.18) задаёт уровень логирования случаев ограничения
-числа соединений.
+Директива задаёт параметры зоны, которая хранит состояние
+для разных значений ключа.
+Состояние в частности хранит текущее число соединений.
+Ключом является значение заданной переменной.
+Пример использования:
+<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> всегда
+равна 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><argument>$переменная название размер</argument></syntax>
+<default/>
+<context>http</context>
+
+<para>
+Эта директива устарела в версии 1.1.8, вместо неё следует
+использовать директиву <link id="limit_conn_zone"/>.
 </para>
 
 </directive>
--- a/xml/ru/docs/http/ngx_http_limit_req_module.xml
+++ b/xml/ru/docs/http/ngx_http_limit_req_module.xml
@@ -2,7 +2,7 @@
 
 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
 
-<module name="Директивы модуля ngx_http_limit_req_module"
+<module name="Модуль ngx_http_limit_req_module"
         link="/ru/docs/http/ngx_http_limit_req_module.html"
         lang="ru">
 
@@ -10,8 +10,8 @@
 
 <para>
 Модуль ngx_http_limit_req_module (0.7.21) позволяет ограничить число запросов
-для заданной сессии или, как частный случай, с одного адреса.
-Ограничение делается с помощью метода leaky bucket.
+по заданному ключу или, как частный случай, число запросов с одного IP-адреса.
+Ограничение делается с помощью метода “leaky bucket”.
 </para>
 
 </section>
@@ -21,7 +21,7 @@
 <para>
 <example>
 http {
-    limit_req_zone  $binary_remote_addr  zone=one:10m   rate=1r/s;
+    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
 
     ...
 
@@ -30,7 +30,7 @@ http {
         ...
 
         location /search/ {
-            limit_req   zone=one  burst=5;
+            limit_req zone=one burst=5;
         }
 </example>
 </para>
@@ -40,66 +40,34 @@ http {
 
 <section name="Директивы" id="directives">
 
-<directive name="limit_req_zone">
-<syntax><value>$переменная zone=название:размер
-        rate=скорость</value></syntax>
+<directive name="limit_req">
+<syntax>
+    <parameter>zone</parameter>=<argument>название</argument>
+    [<parameter>burst</parameter>=<argument>число</argument>]
+    [<parameter>nodelay</parameter>]
+</syntax>
 <default/>
 <context>http</context>
-
-<para>
-Директива описывает зону, в которой хранятся состояния сессий.
-Значения сессий определяется заданной переменной.
-Пример использования:
-<example>
-limit_req_zone  $binary_remote_addr  zone=one:10m   rate=1r/s;
-</example>
-</para>
-
-<para>
-В данном случае состояния сессий хранятся в зоне "one" размером 10 мегабайт
-и средняя скорость запросов для этой зоны не может более 1 запроса в секунду.
-</para>
-
-<para>
-В качестве сессии используется адрес клиента.
-Обратите внимание, что вместо переменной $remote_addr используется
-переменная $binary_remote_addr, позволяющая уменьшить размер состояния
-до 64 байт.
-В зоне размером 1 мегабайт может разместиться около 16 000 состояний
-размером 64 байта.
-</para>
-
-<para>
-Скорость задаётся в запросах в секунду.
-Если же нужна скорость меньше одного запроса в секунду,
-то она задаётся в запросах в минуту, например,
-ползапроса в секунду — это 30r/m.
-</para>
-
-</directive>
-
-<directive name="limit_req">
-<syntax><value>zone=название burst=число [nodelay]</value>
-</syntax>
-<default/>
-<context>http, server, location</context>
+<context>server</context>
+<context>location</context>
 
 <para>
 Директива задаёт зону (zone) и максимально возможные всплески запросов (burst).
 Если скорость запросов превышает описанную в зоне,
-то их обработка запроса задерживается так, чтобы запросы обрабывались
+то их обработка задерживается так, чтобы запросы обрабатывались
 с заданной скоростью.
 Избыточные запросы задерживаются до тех пор, пока их число
 не превысит заданное число всплесков.
-В этом случае запрос завершается кодом "Service unavailable" (503).
+В этом случае запрос завершается с ошибкой
+<http-status code="503" text="Service Temporarily Unavailable"/>.
 По умолчанию число всплесков равно нулю.
 Например, директивы
 <example>
-limit_req_zone  $binary_remote_addr  zone=one:10m   rate=1r/s;
+limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
 
     server {
         location /search/ {
-            limit_req   zone=one  burst=5;
+            limit_req zone=one burst=5;
         }
 
 </example>
@@ -109,9 +77,9 @@ limit_req_zone  $binary_remote_addr  zon
 
 <para>
 Если же избыточные запросы в пределах лимита всплесков задерживать
-не надо, то нужно использовать параметр nodelay:
+не требуется, то следует использовать параметр <parameter>nodelay</parameter>:
 <example>
-            limit_req   zone=one  burst=5  nodelay;
+            limit_req zone=one burst=5 nodelay;
 </example>
 </para>
 
@@ -119,16 +87,72 @@ limit_req_zone  $binary_remote_addr  zon
 
 
 <directive name="limit_req_log_level">
-<syntax><value>[info|notice|warn|error]</value></syntax>
+<syntax>
+<value>info</value> |
+<value>notice</value> |
+<value>warn</value> |
+<value>error</value>
+</syntax>
 <default>error</default>
-<context>http, server, location</context>
+<context>http</context>
+<context>server</context>
+<context>location</context>
+<appeared-in>0.8.18</appeared-in>
+
+<para>
+Директива задаёт желаемый уровень записи в лог случаев ограничения
+числа запросов и задержек при обработке запроса.
+Задержки записываются в лог с уровнем на единицу меньшим, чем ограничения,
+например, если указано <command>limit_req_log_level notice</command>,
+то задержки будут записываться в лог на уровне <value>info</value>.
+</para>
+
+</directive>
+
+
+<directive name="limit_req_zone">
+<syntax>
+    <argument>$переменная </argument>
+    <parameter>zone</parameter>=<argument>название</argument>:<argument>размер </argument>
+    <parameter>rate</parameter>=<argument>скорость</argument>
+</syntax>
+<default/>
+<context>http</context>
 
 <para>
-Директива (0.8.18) задаёт уровень логирования случаев ограничения
-числа запросов и задержек при обработке запроса.
-Задержки логируются на один уровень ниже, чем ограничения, например,
-если задан "limit_req_log_level notice", то задержки будут логироваться
-на уровне info.
+Директива задаёт параметры зоны,
+которая хранит состояние для разных значений ключа.
+Состояние в частности хранит текущее число запросов.
+Ключом является значение заданной переменной.
+Пример использования:
+<example>
+limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
+</example>
+</para>
+
+<para>
+В данном случае состояния хранятся в зоне “one” размером 10 мегабайт,
+и средняя скорость запросов для этой зоны не может превышать
+1 запроса в секунду.
+</para>
+
+<para>
+В качестве ключа используется IP-адрес клиента.
+Обратите внимание, что вместо переменной <var>$remote_addr</var> используется
+переменная <var>$binary_remote_addr</var>, позволяющая уменьшить
+размер состояния до 64 байт.
+В зоне размером 1 мегабайт может разместиться около 16 тысяч состояний
+размером 64 байта.
+При переполнении зоны в ответ на последующие запросы сервер будет
+возвращать ошибку
+<http-status code="503" text="Service Temporarily Unavailable"/>.
+</para>
+
+<para>
+Скорость задаётся в запросах в секунду (r/s).
+Если же нужна скорость меньше одного запроса в секунду,
+то она задаётся в запросах в минуту (r/m), например,
+ползапроса в секунду — это 30r/m.
 </para>
 
 </directive>
--- a/xml/ru/docs/http/ngx_http_limit_zone_module.xml
+++ b/xml/ru/docs/http/ngx_http_limit_zone_module.xml
@@ -2,109 +2,18 @@
 
 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
 
-<module name="Директивы модуля ngx_http_limit_zone_module"
+<module name="Модуль ngx_http_limit_zone_module"
         link="/ru/docs/http/ngx_http_limit_zone_module.html"
         lang="ru">
 
 <section id="summary">
 
 <para>
-Модуль ngx_http_limit_zone_module позволяет ограничить число одновременных
-соединений для заданной сессии или, как частный случай, с одного адреса.
-</para>
-
-</section>
-
-
-<section name="Пример конфигурации" id="example">
-
-<para>
-<example>
-http {
-    limit_zone   one  $binary_remote_addr  10m;
-
-    ...
-
-    server {
-
-        ...
-
-        location /download/ {
-            limit_conn   one  1;
-        }
-</example>
+В версии 1.1.8 модуль <code>ngx_http_limit_zone_module</code>
+был переименован в модуль
+<link doc="ngx_http_limit_conn_module.xml">ngx_http_limit_conn_module</link>.
 </para>
 
 </section>
 
-
-<section name="Директивы" id="directives">
-
-<directive name="limit_zone">
-<syntax><value>название $переменная размер</value></syntax>
-<default/>
-<context>http</context>
-
-<para>
-Директива описывает зону, в которой хранятся состояния сессий.
-Значения сессий определяется заданной переменной.
-Пример использования:
-<example>
-limit_zone   one  $binary_remote_addr  10m;
-</example>
-</para>
-
-<para>
-В качестве сессии используется адрес клиента.
-Обратите внимание, что вместо переменной $remote_addr используется
-переменная $binary_remote_addr.
-Длина значений переменной $remote_addr может быть от 7 до 15 байт,
-поэтому размер состоянии равен 32 или 64 байтам.
-Длина всех значений переменной $binary_remote_addr всегда 4 байта
-и размер состояния всегда 32 байта.
-В зоне размером 1 мегабайт может разместиться около 32 000 состояний
-размером 32 байта.
-</para>
-
-</directive>
-
-
-<directive name="limit_conn">
-<syntax><value>зона число</value></syntax>
-<default/>
-<context>http, server, location</context>
-
-<para>
-Директива задаёт максимальное число одновременных соединений для одной сессии.
-При превышении этого числа запрос завершается кодом "Service unavailable" (503).
-Например, директивы
-<example>
-limit_zone   one  $binary_remote_addr  10m;
-
-    server {
-        location /download/ {
-            limit_conn   one  1;
-        }
-
-</example>
-позволяют не более одного одновременного соединения с одного адреса.
-</para>
-
-</directive>
-
-
-<directive name="limit_conn_log_level">
-<syntax><value>[info|notice|warn|error]</value></syntax>
-<default>error</default>
-<context>http, server, location</context>
-
-<para>
-Директива (0.8.18) задаёт уровень логирования случаев ограничения
-числа соединений.
-</para>
-
-</directive>
-
-</section>
-
 </module>
--- a/xml/ru/docs/index.xml
+++ b/xml/ru/docs/index.xml
@@ -183,8 +183,8 @@ ngx_http_index_module</a>
 </item>
 
 <item>
-<a href="/ru/docs/http/ngx_http_limit_zone_module.xml">
-ngx_http_limit_zone_module</a>
+<a href="/ru/docs/http/ngx_http_limit_conn_module.xml">
+ngx_http_limit_conn_module</a>
 </item>
 
 <item>
--- a/xml/ru/index.xml
+++ b/xml/ru/index.xml
@@ -166,7 +166,7 @@ PUT, DELETE, MKCOL, COPY и MOVE</link>;
 
 <item>
 Ограничение числа одновременных
-<link doc="docs/http/ngx_http_limit_zone_module.xml">соединений</link> и
+<link doc="docs/http/ngx_http_limit_conn_module.xml">соединений</link> и
 <link doc="docs/http/ngx_http_limit_req_module.xml">запросов</link>
 с одного адреса;
 </item>