Module ngx_http_geoip_module

ngx_http_geoip_module模块(0.8.6)使用预编译的MaxMind数据库创建变量,其值取决于客户端 IP 地址。

当使用支持 IPv6 的数据库(1.3.12,1.2.7)时,会将 IPv4 地址查找为 IPv4 映射的 IPv6 地址。

默认情况下未构建此模块,应使用--with-http_geoip_module配置参数启用它。

Note

此模块需要MaxMind GeoIP库。

Example Configuration

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;
    ...

Directives

Syntax: geoip_country file;
Default:
Context: http

指定用于根据客户端 IP 地址确定国家/地区的数据库。使用此数据库时,可以使用以下变量:

$geoip_country_code

$geoip_country_code3

$geoip_country_name

Syntax: geoip_city file;
Default:
Context: http

指定用于根据客户端 IP 地址确定国家,地区和城市的数据库。使用此数据库时,可以使用以下变量:

$geoip_area_code

Note

由于不赞成使用相应的数据库字段,因此该变量可能包含过时的信息。

$geoip_city_continent_code

$geoip_city_country_code

$geoip_city_country_code3

$geoip_city_country_name

$geoip_dma_code

$geoip_latitude

$geoip_longitude

$geoip_region

$geoip_region_name

$geoip_city

$geoip_postal_code

Syntax: geoip_org file;
Default:
Context: http

该指令出现在版本 1.0.3 中。

指定用于根据客户端 IP 地址确定组织的数据库。使用此数据库时,以下变量可用:

$geoip_org

Syntax: geoip_proxy address | CIDR;
Default:
Context: http

该指令出现在版本 1.3.0 和 1.2.1 中。

定义可信地址。当请求来自受信任的地址时,将使用“ X-Forwarded-For”请求 Headers 字段中的地址代替。

Syntax: geoip_proxy_recursive on | off;
Default: geoip_proxy_recursive off;
Context: http

该指令出现在版本 1.3.0 和 1.2.1 中。

如果禁用了递归搜索,那么将使用在“ X-Forwarded-For”中发送的最后一个地址,而不是与受信任地址之一匹配的原始客户端地址。如果启用了递归搜索,则将使用“ X-Forwarded-For”中发送的最后一个不受信任的地址,而不是与受信任的地址之一匹配的原始客户端地址。

首页