模块 ngx_stream_geoip_module
geoip_country geoip_city geoip_org 的配置 Directives 示例 |
模块 (1.11.3) 创建变量
其值取决于客户端 IP 地址,使用预编译的 MaxMind 数据库。ngx_stream_geoip_module
当使用支持 IPv6 的数据库时, IPv4 地址将查找为 IPv4 映射的 IPv6 地址。
默认情况下,此模块不是构建的,应使用 configuration 参数启用它。--with-stream_geoip_module
此模块需要 MaxMind GeoIP 库。
示例配置
stream { geoip_country GeoIP.dat; geoip_city GeoLiteCity.dat; map $geoip_city_continent_code $nearest_server { default example.com; EU eu.example.com; NA na.example.com; AS as.example.com; } ... }
Directives
语法: |
geoip_country |
---|---|
默认值: | — |
上下文: |
stream |
指定用于确定国家/地区的数据库 取决于客户端 IP 地址。 使用此数据库时,可以使用以下变量:
$geoip_country_code
- 两个字母的国家/地区代码,例如
“”, “”.
RU
US
$geoip_country_code3
- 三个字母的国家/地区代码,例如
“”, “”.
RUS
USA
$geoip_country_name
- 国家/地区名称,例如
“”, “”.
Russian Federation
United States
语法: |
geoip_city |
---|---|
默认值: | — |
上下文: |
stream |
指定用于确定国家/地区、区域和城市的数据库 取决于客户端 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 |
---|---|
默认值: | — |
上下文: |
stream |
指定用于确定组织的数据库 取决于客户端 IP 地址。 使用此数据库时,以下变量可用:
$geoip_org
- 组织名称,例如,“The University of Melbourne”。