comparison xml/ru/docs/http/ngx_http_geo_module.xml @ 366:2e549bb93401

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