changeset 369:68d9e5f2ea81

English translation of ngx_http_geo_module.
author Ruslan Ermilov <ru@nginx.com>
date Fri, 27 Jan 2012 22:29:01 +0000
parents ce12542164cf
children 66414a4eb347
files xml/en/GNUmakefile xml/en/docs/http/ngx_http_geo_module.xml xml/en/docs/index.xml xml/en/index.xml
diffstat 4 files changed, 158 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/GNUmakefile
+++ b/xml/en/GNUmakefile
@@ -53,6 +53,7 @@ REFS =									\
 		http/ngx_http_empty_gif_module				\
 		http/ngx_http_fastcgi_module				\
 		http/ngx_http_flv_module				\
+		http/ngx_http_geo_module				\
 		http/ngx_http_geoip_module				\
 		http/ngx_http_gzip_module				\
 		http/ngx_http_gzip_static_module			\
new file mode 100644
--- /dev/null
+++ b/xml/en/docs/http/ngx_http_geo_module.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
+
+<module name="Module ngx_http_geo_module"
+        link="/en/docs/http/ngx_http_geo_module.html"
+        lang="en">
+
+<section id="summary">
+
+<para>
+The <literal>ngx_http_geo_module</literal> module creates variables
+whose values depend on the client IP address.
+</para>
+
+</section>
+
+
+<section id="example" name="Example Configuration">
+
+<para>
+<example>
+geo $geo {
+    default        0;
+    127.0.0.1/32   2;
+    192.168.1.0/24 1;
+    10.1.0.0/16    1;
+}
+</example>
+</para>
+
+</section>
+
+
+<section id="directives" name="Directives">
+
+<directive name="geo">
+<syntax block="yes">[<value>$address</value>] <value>$variable</value></syntax>
+<default/>
+<context>http</context>
+
+<para>
+Describes the dependency of values of the specified variable
+on the client IP address.
+By default an address is taken from the <var>$remote_addr</var> variable
+but it can also be taken from another variable (0.7.27), for example:
+<example>
+geo $arg_remote_addr $geo {
+    ...;
+}
+</example>
+If the value of a variable does not represent a valid IP address
+then the “<literal>255.255.255.255</literal>” address is used.
+</para>
+
+<para>
+Addresses are specified as CIDR or ranges (0.7.23).
+There are also five special parameters:
+<list type="tag">
+
+<tag-name><literal>delete</literal></tag-name>
+<tag-desc>
+deletes the specified network (0.7.23).
+</tag-desc>
+
+<tag-name><literal>default</literal></tag-name>
+<tag-desc>
+a value of variable if the client address does not
+match any of the specified addresses.
+When CIDR is used, “<literal>0.0.0.0/0</literal>” can be written
+instead of <literal>default</literal>.
+</tag-desc>
+
+<tag-name><literal>include</literal></tag-name>
+<tag-desc>
+includes a file with addresses and values.
+There can be several inclusions.
+</tag-desc>
+
+<tag-name><literal>proxy</literal></tag-name>
+<tag-desc>
+sets the addresses of proxy servers (0.8.7, 0.7.63).
+When a request comes from one of the proxy servers,
+an address from the <header>X-Forwarded-For</header> request
+header field will be used instead.
+In contrast to the regular addresses, proxy server addresses are
+checked sequentially.
+</tag-desc>
+
+<tag-name><literal>ranges</literal></tag-name>
+<tag-desc>
+indicates that addresses are specified as ranges (0.7.23).
+This parameter should be the first.
+To speed up loading of a geo base, addresses should be put in increasing order.
+</tag-desc>
+
+</list>
+</para>
+
+<para>
+Example:
+<example>
+geo $country {
+    default        ZZ;
+    include        conf/geo.conf;
+    delete         127.0.0.0/16;
+    proxy          192.168.100.0/24;
+
+    127.0.0.0/24   US;
+    127.0.0.1/32   RU;
+    10.1.0.0/16    RU;
+    192.168.1.0/24 UK;
+}
+</example>
+</para>
+
+<para>
+The <path>conf/geo.conf</path> file could contain the following lines:
+<example>
+10.2.0.0/16    RU;
+192.168.2.0/24 RU;
+</example>
+</para>
+
+<para>
+A value of the most specific match is used.
+For example, for the 127.0.0.1 address the value “<literal>RU</literal>”
+will be chosen, not “<literal>US</literal>”.
+</para>
+
+<para>
+Example with ranges:
+<example>
+geo $country {
+    ranges;
+    default                   ZZ;
+    127.0.0.0-127.0.0.0       US;
+    127.0.0.1-127.0.0.1       RU;
+    127.0.0.1-127.0.0.255     US;
+    10.1.0.0-10.1.255.255     RU;
+    192.168.1.0-192.168.1.255 UK;
+}
+</example>
+</para>
+
+</directive>
+
+</section>
+
+</module>
--- a/xml/en/docs/index.xml
+++ b/xml/en/docs/index.xml
@@ -115,6 +115,11 @@ ngx_http_flv_module</a>
 </item>
 
 <item>
+<a href="/en/docs/http/ngx_http_geo_module.xml">
+ngx_http_geo_module</a>
+</item>
+
+<item>
 <a href="/en/docs/http/ngx_http_geoip_module.xml">
 ngx_http_geoip_module</a>
 </item>
--- a/xml/en/index.xml
+++ b/xml/en/index.xml
@@ -129,7 +129,8 @@ The rewrite module: URI changing using r
 </item>
 
 <item>
-Executing different functions depending on the client address;
+Executing different functions depending on the
+<link doc="docs/http/ngx_http_geo_module.xml">client address</link>;
 </item>
 
 <item>