comparison xml/ru/docs/http/ngx_http_limit_conn_module.xml @ 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 xml/ru/docs/http/ngx_http_limit_zone_module.xml@40eec261c2a6
children 9e7d0c9c7eaa
comparison
equal deleted inserted replaced
178:65431179fb8f 179:8cc01e2179a9
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4
5 <module name="Модуль ngx_http_limit_conn_module"
6 link="/ru/docs/http/ngx_http_limit_conn_module.html"
7 lang="ru">
8
9 <section id="summary">
10
11 <para>
12 Модуль <code>ngx_http_limit_conn_module</code> позволяет ограничить
13 число соединений по заданному ключу или,
14 как частный случай, число соединений с одного IP-адреса.
15 </para>
16
17 <para>
18 Ограничиваются не любые соединения, а лишь те, в которых имеются
19 запросы, обрабатываемые сервером, и заголовок запроса уже прочитан.
20 </para>
21
22 </section>
23
24
25 <section name="Пример конфигурации" id="example">
26
27 <para>
28 <example>
29 http {
30 limit_conn_zone $binary_remote_addr zone=addr:10m;
31
32 ...
33
34 server {
35
36 ...
37
38 location /download/ {
39 limit_conn addr 1;
40 }
41 </example>
42 </para>
43
44 </section>
45
46
47 <section name="Директивы" id="directives">
48
49 <directive name="limit_conn">
50 <syntax><argument>зона число</argument></syntax>
51 <default/>
52 <context>http</context>
53 <context>server</context>
54 <context>location</context>
55
56 <para>
57 Директива задаёт максимально допустимое число соединений
58 для одного значения ключа.
59 При превышении этого числа в ответ на запрос сервер вернёт ошибку
60 <http-status code="503" text="Service Temporarily Unavailable"/>.
61 Например, директивы
62 <example>
63 limit_conn_zone $binary_remote_addr zone=addr:10m;
64
65 server {
66 location /download/ {
67 limit_conn addr 1;
68 }
69 </example>
70 разрешают одновременно обрабатывать не более одного соединения с одного
71 IP-адреса.
72 </para>
73
74 <para>
75 Допустимо одновременное указание нескольких директив <code>limit_conn</code>,
76 при этом будет срабатывать любое из ограничений.
77 </para>
78
79 <para>
80 Директивы наследуются с предыдущего уровня при условии, что на данном уровне
81 не описаны свои директивы <code>limit_conn</code>.
82 </para>
83
84 </directive>
85
86
87 <directive name="limit_conn_log_level">
88 <syntax>
89 <value>info</value> |
90 <value>notice</value> |
91 <value>warn</value> |
92 <value>error</value>
93 </syntax>
94 <default>error</default>
95 <context>http</context>
96 <context>server</context>
97 <context>location</context>
98 <appeared-in>0.8.18</appeared-in>
99
100 <para>
101 Директива задаёт желаемый уровень записи в лог случаев ограничения
102 числа соединений.
103 </para>
104
105 </directive>
106
107
108 <directive name="limit_conn_zone">
109 <syntax>
110 <argument>$переменная </argument>
111 <parameter>zone</parameter>=<argument>название</argument>:<argument>размер</argument>
112 </syntax>
113 <default/>
114 <context>http</context>
115
116 <para>
117 Директива задаёт параметры зоны, которая хранит состояние
118 для разных значений ключа.
119 Состояние в частности хранит текущее число соединений.
120 Ключом является значение заданной переменной.
121 Пример использования:
122 <example>
123 limit_conn_zone $binary_remote_addr zone=addr:10m;
124 </example>
125 Здесь в качестве ключа используется IP-адрес клиента.
126 Обратите внимание, что вместо переменной <var>$remote_addr</var>
127 использована переменная <var>$binary_remote_addr</var>.
128 Длина значения переменной <var>$remote_addr</var> может колебаться
129 от 7 до 15 байт, при этом размер хранимого состояния составляет
130 либо 32, либо 64 байта на 32-битных платформах, и всегда 64
131 байта на 64-битных.
132 Длина значения переменной <var>$binary_remote_addr</var> всегда
133 равна 4 байтам, при этом размер состояния всегда равен 32 байтам
134 на 32-битных платформах и 64 байтам на 64-битных.
135 В зоне размером 1 мегабайт может разместиться около 32 тысяч состояний
136 размером 32 байта, или 16 тысяч состояний размером 64 байта.
137 При переполнении зоны в ответ на последующие запросы сервер будет
138 возвращать ошибку
139 <http-status code="503" text="Service Temporarily Unavailable"/>.
140 </para>
141
142 </directive>
143
144 <directive name="limit_zone">
145 <syntax><argument>$переменная название размер</argument></syntax>
146 <default/>
147 <context>http</context>
148
149 <para>
150 Эта директива устарела в версии 1.1.8, вместо неё следует
151 использовать директиву <link id="limit_conn_zone"/>.
152 </para>
153
154 </directive>
155
156 </section>
157
158 </module>