GeoIP#
使用预编译的 MaxMind 数据库,根据客户端 IP 地址创建变量。
当使用支持 IPv6 的数据库时,IPv4 地址会被查找为 IPv4 映射的 IPv6 地址。
在 从源代码构建 时,此模块默认不构建;需要使用 ‑‑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;
}
# ...
}
指令#
geoip_country#
指定用于根据客户端 IP 地址确定国家的数据库。使用此数据库时可以使用以下变量:
|
两字母国家代码,例如,“RU”,“US”。 |
|
三字母国家代码,例如,“RUS”,“USA”。 |
|
国家名称,例如,“Russian Federation”,“United States”。 |
geoip_city#
指定用于根据客户端 IP 地址确定国家、地区和城市的数据库。使用此数据库时可以使用以下变量:
|
两字母洲代码,例如,“EU”,“NA”。 |
|
两字母国家代码,例如,“RU”,“US”。 |
|
三字母国家代码,例如,“RUS”,“USA”。 |
|
国家名称,例如,“Russian Federation”,“United States”。 |
|
美国的 DMA 区域代码(也称为“地铁代码”),根据 Google AdWords API 中的 地理定位。 |
|
纬度。 |
|
经度。 |
|
两个字符的国家地区代码(地区、领土、州、省、联邦土地等),例如,“48”,“DC”。 |
|
国家地区名称(地区、领土、州、省、联邦土地等),例如,“Moscow City”,“District of Columbia”。 |
|
城市名称,例如,“Moscow”,“Washington”。 |
|
邮政编码。 |
geoip_org#
指定用于根据客户端 IP 地址确定组织的数据库。使用此数据库时可以使用以下变量:
|
组织名称,例如,“The University of Melbourne”。 |