ngx_stream_geoip_module
ngx_stream_geoip_module 模块(1.11.3)使用预编译的 MaxMind 数据库创建依赖于客户端 IP 地址的变量。
使用支持 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
-
说明
语法
geoip_country file;
默认
——
上下文
stream
指定用于根据客户端 IP 地址确定国家的数据库。使用此数据库时,以下变量可用:
$geoip_country_code两个字母表示的国家代码,比如
RU、US$geoip_country_code3三个字母表示的国家代码,比如
RUS、USA$geoip_country_name国家名称,比如
Russian Federation、United States
geoip_city
-
说明
语法
geoip_city file;
默认
——
上下文
stream
指定用于根据客户端 IP 地址确定国家、地区和城市的数据库。使用此数据库时,以下变量可用:
$geoip_area_code电话区号(仅限美国)
因为使用到过时的数据库字段,此变量可能包含过时的信息。
$geoip_city_continent_code两个字母表示的大陆代码,比如
RU、US$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
-
说明
语法
geoip_org file;
默认
——
上下文
stream
指定用于根据客户端 IP 地址确定组织的数据库。使用此数据库时,以下变量可用:
$geoip_org组织名称,例如:
The University of Melbourne。
原文档
http://nginx.org/en/docs/stream/ngx_stream_geoip_module.html
Last updated
Was this helpful?