当使用的数据库支持IPv6时,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
两个字母的大陆编码,例如“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
语法:geoip_org file
默认:—
上下文:stream
指定一个数据库,用于决定依赖于客户端IP地址的组织。下列变量在使用数据库时可用:
$geoip_org
组织名称,例如“The University of Melbourne”