Mercurial > hg > nginx-site
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 |