模块 ngx_stream_geoip_module

示例配置
指令
     geoip_country
     geoip_city
     geoip_org

模块 ngx_stream_geoip_module(1.11.3)根据客户端IP地址创建具有值的变量,使用预编译的MaxMind数据库。

在使用具有IPv6支持的数据库时,IPv4地址被查找为IPv4映射的IPv6地址。

此模块不是默认构建的,应使用 --with-stream_geoip_module 配置参数启用它。

此模块需要 MaxMind GeoIP 库。

示例配置

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;
    }
   ...
}

指令

语法: geoip_country file;
默认值:
上下文: stream

指定用于根据客户端IP地址确定国家的数据库。 使用此数据库时,可用以下变量:

$geoip_country_code
两字母国家代码,例如“RU”,“US”。
$geoip_country_code3
三字母国家代码,例如“RUS”,“USA”。
$geoip_country_name
国家名称,例如“Russian Federation”,“United States”。

语法: geoip_city file;
默认值:
上下文: stream

指定用于根据客户端IP地址确定国家、地区和城市的数据库。 使用此数据库时,可用以下变量:

$geoip_area_code
电话区号(仅限美国)。
由于相应的数据库字段已被弃用,此变量可能包含过时信息。
$geoip_city_continent_code
两位字母的洲代码,例如,“EU”,“NA”。
$geoip_city_country_code
两位字母的国家代码,例如,“RU”,“US”。
$geoip_city_country_code3
三位字母的国家代码,例如,“RUS”,“USA”。
$geoip_city_country_name
国家名称,例如,“Russian Federation”,“United States”。
$geoip_dma_code
美国DMA地区代码(也称为“城市代码”),根据Google AdWords API中的地理定位。
$geoip_latitude
纬度。
$geoip_longitude
经度。
$geoip_region
两位符号的国家地区代码(地区、领土、州、省、联邦土地等),例如,“48”,“DC”。
$geoip_region_name
国家地区名称(地区、领土、州、省、联邦土地等),例如,“Moscow City”,“District of Columbia”。
$geoip_city
城市名称,例如,“Moscow”,“Washington”。
$geoip_postal_code
邮政编码。

语法: geoip_org 文件;
默认:
上下文: stream

指定用于根据客户端IP地址确定组织的数据库。 使用此数据库时,可以使用以下变量:

$geoip_org
组织名称,例如,“The University of Melbourne”。