模块 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 |
---|---|
默认值: | — |
上下文: | stream |
指定用于根据客户端IP地址确定国家的数据库。 使用此数据库时,可用以下变量:
-
$geoip_country_code
-
两字母国家代码,例如“
RU
”,“US
”。 -
$geoip_country_code3
-
三字母国家代码,例如“
RUS
”,“USA
”。 -
$geoip_country_name
-
国家名称,例如“
Russian Federation
”,“United States
”。
语法: | geoip_city |
---|---|
默认值: | — |
上下文: | 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”。