nginx

ngx_http_geoip_module 模块


english
русский

简体中文
עברית
日本語
türkçe

新闻 [en]
nginx 介绍
下载 [en]
安全漏洞 [en]
文档
FAQ
外部连接 [en]
书籍 [en]
支持 [en]
捐献 [en]

trac
wiki
twitter
nginx.com
配置示例
指令
     geoip_country
     geoip_city
     geoip_proxy
     geoip_proxy_recursive

ngx_http_geoip_module 模块(0.8.6+)创建变量,使用预编译的MaxMind数据库解析客户端IP地址,得到变量值。

nginx默认不编译这个模块,需要开启--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 database;
默认值:
上下文: http

指定数据库,用于根据客户端IP地址得到其所在国家。 使用这个数据库时,配置中可用下列变量:

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

语法: geoip_city database;
默认值:
上下文: http

指定数据库,用于根据客户端IP地址得到其所在的国家、行政区和城市。 使用这个数据库时,配置中可用下列变量:

$geoip_city_country_code
双字符国家代码,比如 “RU”,“US”。
$geoip_city_country_code3
三字符国家代码,比如 “RUS”,“USA”。
$geoip_city_country_name
国家名称,比如 “Russian Federation”,“United States”。
$geoip_region
国家行政区名(行政区、直辖区、州、省、联邦管辖区,诸如此类),比如 “Moscow City”,“DC”。
$geoip_city
城市名称,比如 “Moscow”,“Washington”。
$geoip_postal_code
邮编。

语法: geoip_proxy address | CIDR;
默认值:
上下文: http

这个指令出现在版本 1.3.0 和 1.2.1.

定义可信地址。 如果请求来自可信地址,nginx将使用其“X-Forwarded-For”头来获得地址。

语法: geoip_proxy_recursive on | off;
默认值:
geoip_proxy_recursive off;
上下文: http

这个指令出现在版本 1.3.0 和 1.2.1.

如果关闭递归查找,在客户端地址与某个可信地址匹配时,nginx将使用“X-Forwarded-For”中的最后一个地址来代替原始客户端地址。 如果开启递归查找,在客户端地址与某个可信地址匹配时,nginx将使用“X-Forwarded-For”中最后一个与所有可信地址都不匹配的地址来代替原始客户端地址。

翻译: cfsego