Mercurial > hg > nginx-site
comparison xml/ru/docs/stream/ngx_stream_geo_module.xml @ 1751:3768eb3d9c6c
Documented the geo module in stream.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Thu, 14 Jul 2016 20:33:05 +0300 |
parents | xml/ru/docs/http/ngx_http_geo_module.xml@9dab69f2b71d |
children | 71e505ea3cb3 |
comparison
equal
deleted
inserted
replaced
1750:0e591e97737c | 1751:3768eb3d9c6c |
---|---|
1 <?xml version="1.0"?> | |
2 | |
3 <!-- | |
4 Copyright (C) Nginx, Inc. | |
5 --> | |
6 | |
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | |
8 | |
9 <module name="Модуль ngx_stream_geo_module" | |
10 link="/ru/docs/stream/ngx_stream_geo_module.html" | |
11 lang="ru" | |
12 rev="1"> | |
13 | |
14 <section id="summary"> | |
15 | |
16 <para> | |
17 Модуль <literal>ngx_http_geo_module</literal> (1.11.3) создаёт переменные, | |
18 значения которых зависят от IP-адреса клиента. | |
19 </para> | |
20 | |
21 </section> | |
22 | |
23 | |
24 <section id="example" name="Пример конфигурации"> | |
25 | |
26 <para> | |
27 <example> | |
28 geo $geo { | |
29 default 0; | |
30 | |
31 127.0.0.1 2; | |
32 192.168.1.0/24 1; | |
33 10.1.0.0/16 1; | |
34 | |
35 ::1 2; | |
36 2001:0db8::/32 1; | |
37 } | |
38 </example> | |
39 </para> | |
40 | |
41 </section> | |
42 | |
43 | |
44 <section id="directives" name="Директивы"> | |
45 | |
46 <directive name="geo"> | |
47 <syntax block="yes">[<value>$адрес</value>] <value>$переменная</value></syntax> | |
48 <default/> | |
49 <context>stream</context> | |
50 | |
51 <para> | |
52 Описывает для указанной переменной зависимость значения от | |
53 IP-адреса клиента. | |
54 По умолчанию адрес берётся из переменной <var>$remote_addr</var>, | |
55 но его также можно получить из другой переменной, например: | |
56 <example> | |
57 geo $arg_remote_addr $geo { | |
58 ...; | |
59 } | |
60 </example> | |
61 </para> | |
62 | |
63 <para> | |
64 <note> | |
65 Поскольку переменные вычисляются только в момент использования, | |
66 само по себе наличие даже большого числа объявлений переменных | |
67 “<literal>geo</literal>” не влечёт за собой никаких дополнительных | |
68 расходов на обработку соединений. | |
69 </note> | |
70 </para> | |
71 | |
72 <para> | |
73 Если значение переменной не представляет из себя правильный IP-адрес, | |
74 то используется адрес “<literal>255.255.255.255</literal>”. | |
75 </para> | |
76 | |
77 <para> | |
78 Адреса задаются либо префиксами в формате CIDR | |
79 (включая одиночные адреса), либо в виде диапазонов. | |
80 </para> | |
81 | |
82 <para> | |
83 Также поддерживаются следующие специальные параметры: | |
84 <list type="tag"> | |
85 | |
86 <tag-name><literal>delete</literal></tag-name> | |
87 <tag-desc> | |
88 удаляет описанную сеть. | |
89 </tag-desc> | |
90 | |
91 <tag-name><literal>default</literal></tag-name> | |
92 <tag-desc> | |
93 значение переменной, если адрес клиента не соответствует | |
94 ни одному из заданных адресов. | |
95 При задании адресов в формате CIDR | |
96 вместо <literal>default</literal> можно использовать | |
97 “<literal>0.0.0.0/0</literal>” и “<literal>::/0</literal>”. | |
98 Если параметр <literal>default</literal> не указан, значением | |
99 по умолчанию будет пустая строка. | |
100 </tag-desc> | |
101 | |
102 <tag-name><literal>include</literal></tag-name> | |
103 <tag-desc> | |
104 включает файл с адресами и значениями. | |
105 Включений может быть несколько. | |
106 </tag-desc> | |
107 | |
108 <tag-name><literal>ranges</literal></tag-name> | |
109 <tag-desc> | |
110 указывает, что адреса задаются в виде диапазонов. | |
111 Этот параметр должен быть первым. | |
112 Для ускорения загрузки гео-базы нужно располагать адреса в порядке возрастания. | |
113 </tag-desc> | |
114 | |
115 </list> | |
116 </para> | |
117 | |
118 <para> | |
119 Пример: | |
120 <example> | |
121 geo $country { | |
122 default ZZ; | |
123 include conf/geo.conf; | |
124 delete 127.0.0.0/16; | |
125 | |
126 127.0.0.0/24 US; | |
127 127.0.0.1/32 RU; | |
128 10.1.0.0/16 RU; | |
129 192.168.1.0/24 UK; | |
130 } | |
131 </example> | |
132 </para> | |
133 | |
134 <para> | |
135 В файле <path>conf/geo.conf</path> могут быть такие строки: | |
136 <example> | |
137 10.2.0.0/16 RU; | |
138 192.168.2.0/24 RU; | |
139 </example> | |
140 </para> | |
141 | |
142 <para> | |
143 В качестве значения выбирается максимальное совпадение, например, | |
144 для адреса 127.0.0.1 будет выбрано значение “<literal>RU</literal>”, | |
145 а не “<literal>US</literal>”. | |
146 </para> | |
147 | |
148 <para> | |
149 Пример описания диапазонов: | |
150 <example> | |
151 geo $country { | |
152 ranges; | |
153 default ZZ; | |
154 127.0.0.0-127.0.0.0 US; | |
155 127.0.0.1-127.0.0.1 RU; | |
156 127.0.0.2-127.0.0.255 US; | |
157 10.1.0.0-10.1.255.255 RU; | |
158 192.168.1.0-192.168.1.255 UK; | |
159 } | |
160 </example> | |
161 </para> | |
162 | |
163 </directive> | |
164 | |
165 </section> | |
166 | |
167 </module> |