annotate xml/ru/docs/http/ngx_http_geo_module.xml @ 368:ce12542164cf

Fixed some bugs.
author Ruslan Ermilov <ru@nginx.com>
date Fri, 27 Jan 2012 22:26:28 +0000
parents 2e549bb93401
children 65750bdde8fb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
bfe3eff81d04 Removed redundant encoding specification.
Ruslan Ermilov <ru@nginx.com>
parents: 110
diff changeset
1 <?xml version="1.0"?>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
5 <module name="Модуль ngx_http_geo_module"
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 link="/ru/docs/http/ngx_http_geo_module.html"
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 lang="ru">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
110
40eec261c2a6 Added proper support for anonymous sections, notably for the summary.
Ruslan Ermilov <ru@nginx.com>
parents: 108
diff changeset
9 <section id="summary">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 <para>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
12 Модуль <literal>ngx_http_geo_module</literal> создаёт переменные,
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
13 значения которых зависят от IP-адреса клиента.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
19 <section id="example" name="Пример конфигурации">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 <example>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
23 geo $geo {
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
24 default 0;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
25 127.0.0.1/32 2;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
26 192.168.1.0/24 1;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
27 10.1.0.0/16 1;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
28 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
35 <section id="directives" name="Директивы">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 <directive name="geo">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
38 <syntax block="yes">[<value>$адрес</value>] <value>$переменная</value></syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 76
diff changeset
39 <default/>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 <context>http</context>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 <para>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
43 Описывает для указанной переменной зависимость значения от
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 IP-адреса клиента.
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
45 По умолчанию адрес берётся из переменной <var>$remote_addr</var>,
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
46 но его также можно получить из другой переменной (0.7.27), например:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 <example>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
48 geo $arg_remote_addr $geo {
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
49 ...;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
50 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52 Если значение переменной не представляет из себя правильный IP-адрес,
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
53 то используется адрес “<literal>255.255.255.255</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54 </para>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
55
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 Адреса задаются в виде CIDR или в виде диапазонов (0.7.23).
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
58 Кроме того, есть пять специальных параметров:
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
59 <list type="tag">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
61 <tag-name><literal>delete</literal></tag-name>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
62 <tag-desc>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
63 удаляет описанную сеть (0.7.23).
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
64 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
66 <tag-name><literal>default</literal></tag-name>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
67 <tag-desc>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
68 значение переменной, если адрес клиента не соответствует
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69 ни одному заданному адресу.
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
70 При использовании CIDR вместо <literal>default</literal> можно
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
71 также написать “<literal>0.0.0.0/0</literal>”.
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
72 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
73
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
74 <tag-name><literal>include</literal></tag-name>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
75 <tag-desc>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
76 включает файл с адресами и значениями.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
77 Включений может быть несколько.
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
78 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
79
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
80 <tag-name><literal>proxy</literal></tag-name>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
81 <tag-desc>
368
ce12542164cf Fixed some bugs.
Ruslan Ermilov <ru@nginx.com>
parents: 366
diff changeset
82 задаёт адреса прокси-серверов (0.8.7, 0.7.63),
ce12542164cf Fixed some bugs.
Ruslan Ermilov <ru@nginx.com>
parents: 366
diff changeset
83 при запросе с которых будет использоваться адрес в переданном
ce12542164cf Fixed some bugs.
Ruslan Ermilov <ru@nginx.com>
parents: 366
diff changeset
84 поле заголовка запроса <header>X-Forwarded-For</header>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
85 В отличие от обычных адресов, адреса прокси-серверов проверяются
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
86 последовательно.
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
87 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
88
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
89 <tag-name><literal>ranges</literal></tag-name>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
90 <tag-desc>
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
91 указывает, что адреса задаются в виде диапазонов (0.7.23).
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
92 Этот параметр должен быть первым.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
93 Для ускорения загрузки гео-базы нужно располагать адреса в порядке возрастания.
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
94 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
95
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
96 </list>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
97 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
98
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
99 <para>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
100 Пример:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
101 <example>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
102 geo $country {
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
103 default ZZ;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
104 include conf/geo.conf;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
105 delete 127.0.0.0/16;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
106 proxy 192.168.100.0/24;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
107
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
108 127.0.0.0/24 US;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
109 127.0.0.1/32 RU;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
110 10.1.0.0/16 RU;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
111 192.168.1.0/24 UK;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
112 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
113 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
114 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
115
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
116 <para>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
117 В файле <path>conf/geo.conf</path> могут быть такие строки:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
118 <example>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
119 10.2.0.0/16 RU;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
120 192.168.2.0/24 RU;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
121 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
122 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
123
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
124 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
125 В качестве значения выбирается максимальное совпадение, например,
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
126 для адреса 127.0.0.1 будет выбрано значение “<literal>RU</literal>”,
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
127 а не “<literal>US</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
128 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
129
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
130 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
131 Пример описания диапазонов:
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
132 <example>
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
133 geo $country {
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
134 ranges;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
135 default ZZ;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
136 127.0.0.0-127.0.0.0 US;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
137 127.0.0.1-127.0.0.1 RU;
368
ce12542164cf Fixed some bugs.
Ruslan Ermilov <ru@nginx.com>
parents: 366
diff changeset
138 127.0.0.2-127.0.0.255 US;
366
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
139 10.1.0.0-10.1.255.255 RU;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
140 192.168.1.0-192.168.1.255 UK;
2e549bb93401 Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
141 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
142 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
143 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
144
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
145 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
146
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
147 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
148
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
149 </module>