nginx中文文档-ngx_http_geoip_module

此页面版本:2016-06-08
ngx_http_geoip_module模块(0.8.6+)创建基于客户端IP的变量,并使用预编译的MaxMind数据库。

当使用支持IPv6的数据库(1.3.12+,1.2.7+)时,IPv4地址会显示为IPv4映射的IPv6地址。
该模块默认不会构建,需要用–with-http_geoip_module编译参数。
该模块需要MaxMind GeoIP库。

示例配置

http {
    geoip_country         GeoIP.dat;
    geoip_city            GeoLiteCity.dat;
    geoip_proxy           192.168.100.0/24;
    geoip_proxy           2001:0db8::/32;
    geoip_proxy_recursive on;
    ...

geoip_country

语法:geoip_country file
默认:—
上下文:http

指定一个数据库用于指定依赖于客户端IP地址的国家。下面的变量在使用数据库时可用:

$geoip_country_code
两个字母的国家代码,例如“RU”,“US”

$geoip_country_code3
三个字母的国家代码,例如“RUS”,“USA”

$geoip_country_name
国家名称,例如“Russian Federation”,“United States”

geoip_city

语法:geoip_city file
默认:—
上下文:http

指定一个数据库,用于决定依赖于客户端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 geotargeting


$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
默认:—
上下文:http
版本:1.0.3+

指定数据库用于决定依赖于客户端IP地址的机构。下面的变量在使用数据库时可用:

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

geoip_proxy

语法:geoip_proxy address | CIDR
默认:—
上下文:http
版本:1.3.0+,1.2.1+

定义可信地址。当请求来自于可信地址,将会使用请求头中的“X-Forwarded-For”。

geoip_proxy_recursive

语法:geoip_proxy_recursive on | off
默认:geoip_proxy_recursive off
上下文:http
版本:1.3.0+,1.2.1+

如果递归查询禁用,“X-Forwarded-For”中最后一个地址将被使用。
如果递归查询启用,会用“X-Forwarded-For”中最后一个不可信地址。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

请开启浏览器JavaScript