Mercurial > hg > nginx-site
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> |