模块 ngx_http_geoip_module
| geoip_country geoip_city geoip_org geoip_proxy geoip_proxy_recursive 的配置 Directives 示例 |
这ngx_http_geoip_modulemodule (0.8.6+) 创建变量
其值取决于客户端 IP 地址,使用预编译的 MaxMind 数据库。
使用支持 IPv6 的数据库(1.3.12、1.2.7)时, IPv4 地址将查找为 IPv4 映射的 IPv6 地址。
这个模块不是默认构建的,它应该使用--with-http_geoip_moduleconfiguration 参数。
此模块需要 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;
...
Directives
| 语法: |
geoip_country |
|---|---|
| 默认值: | — |
| 上下文: |
http |
指定用于确定国家/地区的数据库 取决于客户端 IP 地址。 使用此数据库时,可以使用以下变量:
$geoip_country_code- 两个字母的国家/地区代码,例如
“
RU”, “US”. $geoip_country_code3- 三个字母的国家/地区代码,例如
“
RUS”, “USA”. $geoip_country_name- 国家/地区名称,例如
“
Russian Federation”, “United States”.
| 语法: |
geoip_city |
|---|---|
| 默认值: | — |
| 上下文: |
http |
指定用于确定国家/地区、区域和城市的数据库 取决于客户端 IP 地址。 使用此数据库时,可以使用以下变量:
$geoip_area_code- 电话区号(仅限美国)。
此变量可能包含过时的信息,因为 相应的 database 字段已弃用。
-
$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 中的地理定位,美国的 DMA 区域代码(也称为“地铁代码”)。
$geoip_latitude- 纬度。
$geoip_longitude- 经度。
$geoip_region- 双符号国家/地区区域代码(地区、领地、州、省、联邦土地
等),例如,
“
48”, “DC”. $geoip_region_name- 国家/地区名称(地区、领地、州、省、联邦土地
等),例如,
“
Moscow City”, “District of Columbia”. $geoip_city- city name 等
“
Moscow”, “Washington”. $geoip_postal_code- 邮政编码。
| 语法: |
geoip_org |
|---|---|
| 默认值: | — |
| 上下文: |
http |
该Directives出现在版本 1.0.3 中。
指定用于确定组织的数据库 取决于客户端 IP 地址。 使用此数据库时,以下变量可用:
$geoip_org- 组织名称,例如,“The University of Melbourne”。
| 语法: |
geoip_proxy |
|---|---|
| 默认值: | — |
| 上下文: |
http |
此Directives出现在版本 1.3.0 和 1.2.1 中。
定义可信地址。 当请求来自可信地址时, 来自 “X-Forwarded-For” 请求的地址 将改用 header 字段。
| 语法: |
geoip_proxy_recursive |
|---|---|
| 默认值: |
geoip_proxy_recursive off; |
| 上下文: |
http |
此Directives出现在版本 1.3.0 和 1.2.1 中。
如果禁用了递归搜索,则代替原始客户端 address 匹配其中一个受信任地址,则最后一个 将使用以 “X-Forwarded-For” 发送的地址。 如果启用了递归搜索,则代替原始客户端 address 匹配其中一个受信任地址,则最后一个 将使用以 “X-Forwarded-For” 发送的非信任地址。