Mercurial > hg > nginx-site
comparison 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 |
comparison
equal
deleted
inserted
replaced
1516:7ece86947201 | 1517:53ae63cb4cfa |
---|---|
1 <?xml version="1.0"?> | |
2 | |
3 <!-- | |
4 Copyright (C) Igor Sysoev | |
5 Copyright (C) Nginx, Inc. | |
6 --> | |
7 | |
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | |
9 | |
10 <module name="Модуль ngx_stream_limit_conn_module" | |
11 link="/ru/docs/stream/ngx_stream_limit_conn_module.html" | |
12 lang="ru" | |
13 rev="1"> | |
14 | |
15 <section id="summary"> | |
16 | |
17 <para> | |
18 Модуль <literal>ngx_stream_limit_conn_module</literal> (1.9.3) позволяет | |
19 ограничить | |
20 число соединений по заданному ключу, в частности, число соединений с одного | |
21 IP-адреса. | |
22 </para> | |
23 | |
24 </section> | |
25 | |
26 | |
27 <section id="example" name="Пример конфигурации"> | |
28 | |
29 <para> | |
30 <example> | |
31 stream { | |
32 limit_conn_zone $binary_remote_addr zone=addr:10m; | |
33 | |
34 ... | |
35 | |
36 server { | |
37 | |
38 ... | |
39 | |
40 limit_conn addr 1; | |
41 limit_conn_log_level error; | |
42 } | |
43 } | |
44 </example> | |
45 </para> | |
46 | |
47 </section> | |
48 | |
49 | |
50 <section id="directives" name="Директивы"> | |
51 | |
52 <directive name="limit_conn"> | |
53 <syntax><value>зона</value> <value>число</value></syntax> | |
54 <default/> | |
55 <context>stream</context> | |
56 <context>server</context> | |
57 | |
58 <para> | |
59 Задаёт зону разделяемой памяти и максимально допустимое число соединений | |
60 для одного значения ключа. | |
61 При превышении этого числа сервер закроет соединение. | |
62 Например, директивы | |
63 <example> | |
64 limit_conn_zone $binary_remote_addr zone=addr:10m; | |
65 | |
66 server { | |
67 ... | |
68 limit_conn addr 1; | |
69 } | |
70 </example> | |
71 разрешают одновременно обрабатывать не более одного соединения с одного | |
72 IP-адреса. | |
73 </para> | |
74 | |
75 <para> | |
76 Допустимо одновременное указание нескольких директив | |
77 <literal>limit_conn</literal>, | |
78 при этом будет срабатывать любое из ограничений. | |
79 </para> | |
80 | |
81 <para> | |
82 Директивы наследуются с предыдущего уровня при условии, что на данном уровне | |
83 не описаны свои директивы <literal>limit_conn</literal>. | |
84 </para> | |
85 | |
86 </directive> | |
87 | |
88 | |
89 <directive name="limit_conn_log_level"> | |
90 <syntax> | |
91 <literal>info</literal> | | |
92 <literal>notice</literal> | | |
93 <literal>warn</literal> | | |
94 <literal>error</literal></syntax> | |
95 <default>error</default> | |
96 <context>stream</context> | |
97 <context>server</context> | |
98 | |
99 <para> | |
100 Задаёт желаемый уровень записи в лог случаев ограничения | |
101 числа соединений. | |
102 </para> | |
103 | |
104 </directive> | |
105 | |
106 | |
107 <directive name="limit_conn_zone"> | |
108 <syntax> | |
109 <value>ключ</value> | |
110 <literal>zone</literal>=<value>название</value>:<value>размер</value></syntax> | |
111 <default/> | |
112 <context>stream</context> | |
113 | |
114 <para> | |
115 Задаёт параметры зоны разделяемой памяти, которая хранит состояние | |
116 для разных значений ключа. | |
117 Состояние в частности содержит текущее число соединений. | |
118 На данный момент возможным значением для <value>ключа</value> является | |
119 адрес клиента в бинарном виде, указываемый как | |
120 <literal>$binary_remote_addr</literal>. | |
121 Запросы с пустым значением ключа не учитываются. | |
122 Пример использования: | |
123 <example> | |
124 limit_conn_zone $binary_remote_addr zone=addr:10m; | |
125 </example> | |
126 Здесь в качестве ключа используется IP-адрес клиента, | |
127 задаваемый ключом <literal>$binary_remote_addr</literal>. | |
128 Длина значения <literal>$binary_remote_addr</literal> | |
129 равна 4 байтам, при этом размер состояния всегда равен 32 байтам | |
130 на 32-битных платформах и 64 байтам на 64-битных. | |
131 В зоне размером 1 мегабайт может разместиться около 32 тысяч состояний | |
132 размером 32 байта или 16 тысяч состояний размером 64 байта. | |
133 При переполнении зоны сервер закроет соединение. | |
134 </para> | |
135 | |
136 </directive> | |
137 | |
138 | |
139 </section> | |
140 | |
141 </module> |