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>