changeset 1750:0e591e97737c

Documented the geoip module in stream.
author Yaroslav Zhuravlev <yar@nginx.com>
date Wed, 13 Jul 2016 21:15:55 +0300
parents 153a99d25210
children 3768eb3d9c6c
files xml/en/GNUmakefile xml/en/docs/index.xml xml/en/docs/stream/ngx_stream_geoip_module.xml xml/ru/GNUmakefile xml/ru/docs/index.xml xml/ru/docs/stream/ngx_stream_geoip_module.xml
diffstat 6 files changed, 441 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/GNUmakefile	Tue Jul 05 21:47:42 2016 +0300
+++ b/xml/en/GNUmakefile	Wed Jul 13 21:15:55 2016 +0300
@@ -96,6 +96,7 @@
 		mail/ngx_mail_ssl_module				\
 		stream/ngx_stream_access_module				\
 		stream/ngx_stream_core_module				\
+		stream/ngx_stream_geoip_module				\
 		stream/ngx_stream_limit_conn_module			\
 		stream/ngx_stream_map_module				\
 		stream/ngx_stream_proxy_module				\
--- a/xml/en/docs/index.xml	Tue Jul 05 21:47:42 2016 +0300
+++ b/xml/en/docs/index.xml	Wed Jul 13 21:15:55 2016 +0300
@@ -8,7 +8,7 @@
 <article name="nginx documentation"
          link="/en/docs/"
          lang="en"
-         rev="26"
+         rev="27"
          toc="no">
 
 
@@ -492,6 +492,11 @@
 </listitem>
 
 <listitem>
+<link doc="stream/ngx_stream_geoip_module.xml">
+ngx_stream_geoip_module</link>
+</listitem>
+
+<listitem>
 <link doc="stream/ngx_stream_limit_conn_module.xml">
 ngx_stream_limit_conn_module</link>
 </listitem>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/en/docs/stream/ngx_stream_geoip_module.xml	Wed Jul 13 21:15:55 2016 +0300
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+
+<!--
+  Copyright (C) Nginx, Inc.
+  -->
+
+<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
+
+<module name="Module ngx_stream_geoip_module"
+        link="/en/docs/stream/ngx_http_geoip_module.html"
+        lang="en"
+        rev="1">
+
+<section id="summary">
+
+<para>
+The <literal>ngx_stream_geoip_module</literal> module (1.11.3) creates variables
+with values depending on the client IP address, using the precompiled
+<link url="http://www.maxmind.com">MaxMind</link> databases.
+</para>
+
+<para>
+When using the databases with IPv6 support,
+IPv4 addresses are looked up as IPv4-mapped IPv6 addresses.
+</para>
+
+<para>
+This module is not built by default, it should be enabled with the
+<literal>--with-stream_geoip_module</literal>
+configuration parameter.
+<note>
+This module requires the
+<link url="http://www.maxmind.com/app/c">MaxMind GeoIP</link> library.
+</note>
+</para>
+
+</section>
+
+
+<section id="example" name="Example Configuration">
+
+<para>
+<example>
+stream {
+    geoip_country         GeoIP.dat;
+    geoip_city            GeoLiteCity.dat;
+
+    map $geoip_city_continent_code $nearest_server {
+        default        example.com;
+        EU          eu.example.com;
+        NA          na.example.com;
+        AS          as.example.com;
+    }
+   ...
+}
+</example>
+</para>
+
+</section>
+
+
+<section id="directives" name="Directives">
+
+<directive name="geoip_country">
+<syntax><value>file</value></syntax>
+<default/>
+<context>stream</context>
+
+<para>
+Specifies a database used to determine the country
+depending on the client IP address.
+The following variables are available when using this database:
+<list type="tag">
+
+<tag-name id="var_geoip_country_code"><var>$geoip_country_code</var></tag-name>
+<tag-desc>
+two-letter country code, for example,
+“<literal>RU</literal>”, “<literal>US</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_country_code3"><var>$geoip_country_code3</var>
+</tag-name>
+<tag-desc>
+three-letter country code, for example,
+“<literal>RUS</literal>”, “<literal>USA</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_country_name"><var>$geoip_country_name</var></tag-name>
+<tag-desc>
+country name, for example,
+“<literal>Russian Federation</literal>”, “<literal>United States</literal>”.
+</tag-desc>
+
+</list>
+</para>
+
+</directive>
+
+
+<directive name="geoip_city">
+<syntax><value>file</value></syntax>
+<default/>
+<context>stream</context>
+
+<para>
+Specifies a database used to determine the country, region, and city
+depending on the client IP address.
+The following variables are available when using this database:
+<list type="tag">
+
+<tag-name id="var_geoip_area_code"><var>$geoip_area_code</var></tag-name>
+<tag-desc>telephone area code (US only).
+<note>
+This variable may contain outdated information since
+the corresponding database field is deprecated.
+</note>
+</tag-desc>
+
+<tag-name id="var_geoip_city_continent_code">
+<var>$geoip_city_continent_code</var></tag-name>
+<tag-desc>two-letter continent code, for example,
+“<literal>EU</literal>”, “<literal>NA</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_city_country_code"><var>$geoip_city_country_code</var>
+</tag-name>
+<tag-desc>
+two-letter country code, for example,
+“<literal>RU</literal>”, “<literal>US</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_city_country_code3"><var>$geoip_city_country_code3</var>
+</tag-name>
+<tag-desc>
+three-letter country code, for example,
+“<literal>RUS</literal>”, “<literal>USA</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_city_country_name"><var>$geoip_city_country_name</var>
+</tag-name>
+<tag-desc>
+country name, for example,
+“<literal>Russian Federation</literal>”, “<literal>United States</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_dma_code"><var>$geoip_dma_code</var></tag-name>
+<tag-desc>
+DMA region code in US (also known as “metro code”), according to the
+<link url="https://developers.google.com/adwords/api/docs/appendix/cities-DMAregions">geotargeting</link>
+in Google AdWords API.
+</tag-desc>
+
+<tag-name id="var_geoip_latitude"><var>$geoip_latitude</var></tag-name>
+<tag-desc>latitude.</tag-desc>
+
+<tag-name id="var_geoip_longitude"><var>$geoip_longitude</var></tag-name>
+<tag-desc>longitude.</tag-desc>
+
+<tag-name id="var_geoip_region"><var>$geoip_region</var></tag-name>
+<tag-desc>
+two-symbol country region code (region, territory, state, province, federal land
+and the like), for example,
+“<literal>48</literal>”, “<literal>DC</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_region_name"><var>$geoip_region_name</var></tag-name>
+<tag-desc>
+country region name (region, territory, state, province, federal land
+and the like), for example,
+“<literal>Moscow City</literal>”, “<literal>District of Columbia</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_city"><var>$geoip_city</var></tag-name>
+<tag-desc>
+city name, for example,
+“<literal>Moscow</literal>”, “<literal>Washington</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_postal_code"><var>$geoip_postal_code</var></tag-name>
+<tag-desc>
+postal code.
+</tag-desc>
+
+</list>
+</para>
+
+</directive>
+
+
+<directive name="geoip_org">
+<syntax><value>file</value></syntax>
+<default/>
+<context>stream</context>
+
+<para>
+Specifies a database used to determine the organization
+depending on the client IP address.
+The following variable is available when using this database:
+<list type="tag">
+
+<tag-name id="var_geoip_org"><var>$geoip_org</var></tag-name>
+<tag-desc>
+organization name, for example, “The University of Melbourne”.
+</tag-desc>
+
+</list>
+</para>
+
+</directive>
+
+</section>
+
+</module>
--- a/xml/ru/GNUmakefile	Tue Jul 05 21:47:42 2016 +0300
+++ b/xml/ru/GNUmakefile	Wed Jul 13 21:15:55 2016 +0300
@@ -85,6 +85,7 @@
 		mail/ngx_mail_ssl_module				\
 		stream/ngx_stream_access_module				\
 		stream/ngx_stream_core_module				\
+		stream/ngx_stream_geoip_module				\
 		stream/ngx_stream_limit_conn_module			\
 		stream/ngx_stream_map_module				\
 		stream/ngx_stream_proxy_module				\
--- a/xml/ru/docs/index.xml	Tue Jul 05 21:47:42 2016 +0300
+++ b/xml/ru/docs/index.xml	Wed Jul 13 21:15:55 2016 +0300
@@ -8,7 +8,7 @@
 <article name="nginx: документация"
          link="/ru/docs/"
          lang="ru"
-         rev="26"
+         rev="27"
          toc="no">
 
 
@@ -496,6 +496,11 @@
 </listitem>
 
 <listitem>
+<link doc="stream/ngx_stream_geoip_module.xml">
+ngx_stream_geoip_module</link>
+</listitem>
+
+<listitem>
 <link doc="stream/ngx_stream_limit_conn_module.xml">
 ngx_stream_limit_conn_module</link>
 </listitem>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/ru/docs/stream/ngx_stream_geoip_module.xml	Wed Jul 13 21:15:55 2016 +0300
@@ -0,0 +1,214 @@
+<?xml version="1.0"?>
+
+<!--
+  Copyright (C) Nginx, Inc.
+  -->
+
+<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
+
+<module name="Модуль ngx_stream_geoip_module"
+        link="/ru/docs/http/ngx_stream_geoip_module.html"
+        lang="ru"
+        rev="1">
+
+<section id="summary">
+
+<para>
+Модуль <literal>ngx_stream_geoip_module</literal> (1.11.3) создаёт переменные,
+значения которых зависят от IP-адреса клиента, используя готовые базы данных
+<link url="http://www.maxmind.com">MaxMind</link>.
+</para>
+
+<para>
+При использовании баз данных с поддержкой IPv6
+IPv4-адреса ищутся отображёнными на IPv6.
+</para>
+
+<para>
+По умолчанию этот модуль не собирается, его сборку необходимо
+разрешить с помощью конфигурационного параметра
+<literal>--with-stream_geoip_module</literal>.
+<note>
+Для сборки и работы этого модуля нужна библиотека
+<link url="http://www.maxmind.com/app/c">MaxMind GeoIP</link>.
+</note>
+</para>
+
+</section>
+
+
+<section id="example" name="Пример конфигурации">
+
+<para>
+<example>
+stream {
+    geoip_country         GeoIP.dat;
+    geoip_city            GeoLiteCity.dat;
+
+    map $geoip_city_continent_code $nearest_server {
+        default        example.com;
+        EU          eu.example.com;
+        NA          na.example.com;
+        AS          as.example.com;
+    }
+   ...
+}
+</example>
+</para>
+
+</section>
+
+
+<section id="directives" name="Директивы">
+
+<directive name="geoip_country">
+<syntax><value>файл</value></syntax>
+<default/>
+<context>stream</context>
+
+<para>
+Задаёт базу данных для определения страны в зависимости
+от значения IP-адреса клиента.
+При использовании этой базы данных доступны следующие переменные:
+<list type="tag">
+
+<tag-name id="var_geoip_country_code"><var>$geoip_country_code</var></tag-name>
+<tag-desc>
+двухбуквенный код страны, например,
+“<literal>RU</literal>”, “<literal>US</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_country_code3"><var>$geoip_country_code3</var>
+</tag-name>
+<tag-desc>
+трёхбуквенный код страны, например,
+“<literal>RUS</literal>”, “<literal>USA</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_country_name"><var>$geoip_country_name</var></tag-name>
+<tag-desc>
+название страны, например,
+“<literal>Russian Federation</literal>”, “<literal>United States</literal>”.
+</tag-desc>
+
+</list>
+</para>
+
+</directive>
+
+
+<directive name="geoip_city">
+<syntax><value>файл</value></syntax>
+<default/>
+<context>stream</context>
+
+<para>
+Задаёт базу данных для определения страны, региона и города
+в зависимости от значения IP-адреса клиента.
+При использовании этой базы данных доступны следующие переменные:
+<list type="tag">
+
+<tag-name id="var_geoip_area_code"><var>$geoip_area_code</var></tag-name>
+<tag-desc>телефонный код области (только для США).
+<note>
+Данная переменная может содержать неактуальную информацию, т.к.
+соответствующее поле базы данных объявлено устаревшим.
+</note>
+</tag-desc>
+
+<tag-name id="var_geoip_city_continent_code">
+<var>$geoip_city_continent_code</var>
+</tag-name>
+<tag-desc>двухбуквенный код континента, например,
+“<literal>EU</literal>”, “<literal>NA</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_city_country_code"><var>$geoip_city_country_code</var>
+</tag-name>
+<tag-desc>
+двухбуквенный код страны, например,
+“<literal>RU</literal>”, “<literal>US</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_city_country_code3"><var>$geoip_city_country_code3</var>
+</tag-name>
+<tag-desc>
+трёхбуквенный код страны, например,
+“<literal>RUS</literal>”, “<literal>USA</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_city_country_name"><var>$geoip_city_country_name</var>
+</tag-name>
+<tag-desc>
+название страны, например,
+“<literal>Russian Federation</literal>”, “<literal>United States</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_dma_code"><var>$geoip_dma_code</var></tag-name>
+<tag-desc>
+DMA-код региона в США (также известный как “код агломерации”), согласно
+<link url="https://developers.google.com/adwords/api/docs/appendix/cities-DMAregions">геотаргетингу</link>
+Google AdWords API.
+</tag-desc>
+
+<tag-name id="var_geoip_latitude"><var>$geoip_latitude</var></tag-name>
+<tag-desc>широта.</tag-desc>
+
+<tag-name id="var_geoip_longitude"><var>$geoip_longitude</var></tag-name>
+<tag-desc>долгота.</tag-desc>
+
+<tag-name id="var_geoip_region"><var>$geoip_region</var></tag-name>
+<tag-desc>
+двухсимвольный код региона страны (область, край, штат,
+провинция, федеральная земля и тому подобное), например,
+“<literal>48</literal>”, “<literal>DC</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_region_name"><var>$geoip_region_name</var></tag-name>
+<tag-desc>
+название региона страны (область, край, штат,
+провинция, федеральная земля и тому подобное), например,
+“<literal>Moscow City</literal>”, “<literal>District of Columbia</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_city"><var>$geoip_city</var></tag-name>
+<tag-desc>
+название города, например,
+“<literal>Moscow</literal>”, “<literal>Washington</literal>”.
+</tag-desc>
+
+<tag-name id="var_geoip_postal_code"><var>$geoip_postal_code</var></tag-name>
+<tag-desc>
+почтовый индекс.
+</tag-desc>
+
+</list>
+</para>
+
+</directive>
+
+
+<directive name="geoip_org">
+<syntax><value>файл</value></syntax>
+<default/>
+<context>stream</context>
+
+<para>
+Задаёт базу данных для определения названия организации
+в зависимости от значения IP-адреса клиента.
+При использовании этой базы данных доступна следующая переменная:
+<list type="tag">
+
+<tag-name id="var_geoip_org"><var>$geoip_org</var></tag-name>
+<tag-desc>
+название организации, например, “The University of Melbourne”.
+</tag-desc>
+
+</list>
+</para>
+
+</directive>
+
+</section>
+
+</module>