On this page
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
- 两个字母的国家/地区代码,例如“
RU
”,“US
”。
$geoip_country_code3
- 三个字母的国家/地区代码,例如“
RUS
”,“USA
”。
$geoip_country_name
- 国家/地区名称,例如“
Russian Federation
”,“United States
”。
Syntax: | geoip_city file; |
Default: | — |
Context: | http |
指定用于根据客户端 IP 地址确定国家,地区和城市的数据库。使用此数据库时,可以使用以下变量:
$geoip_area_code
- 电话区号(仅限美国)。
Note
由于不赞成使用相应的数据库字段,因此该变量可能包含过时的信息。
$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
- 根据 Google AdWords API 中的geotargeting,美国的 DMA 区域代码(也称为“大都市代码”)。
$geoip_latitude
- latitude.
$geoip_longitude
- longitude.
$geoip_region
- 两个符号的国家/地区代码(地区,地区,State,省,联邦土地等),例如“
48
”,“DC
”。
$geoip_region_name
- 国家区域名称(区域,地区,State,省,联邦土地等),例如“
Moscow City
”,“District of Columbia
”。
$geoip_city
- 城市名称,例如“
Moscow
”,“Washington
”。
$geoip_postal_code
- 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”中发送的最后一个不受信任的地址,而不是与受信任的地址之一匹配的原始客户端地址。