ngx_stream_geoip_module
Module ngx_stream_geoip_module
- 示例配置
- 指令
- geoip_country
- geoip_city
- geoip_org
所述ngx_stream_geoip_module
模块(1.11.3),依赖于客户端的IP地址值,并使用预编译的创建变量的MaxMind数据库。
在支持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地址确定国家/地区的数据库。使用此数据库时,以下变量可用:
$geoip_country_code
双字母国家代码,例如“ RU
”,“ US
”。$geoip_country_code3
三个字母的国家代码,例如“ RUS
”,“ USA
”。$geoip_country_name
国名,例如“ Russian Federation
”,“ United States
”。
句法: | geoip_city文件; |
---|---|
默认: | — |
语境: | 流 |
指定用于根据客户端IP地址确定国家,地区和城市的数据库。使用此数据库时,以下变量可用:
$geoip_area_code
电话区号(仅限美国)。
由于相应的数据库字段已弃用,因此此变量可能包含过时的信息。
$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
城市名称,例如“ Moscow
”,“ Washington
”。$geoip_postal_code
邮政编码。
句法: | geoip_org文件; |
---|---|
默认: | — |
语境: | 流 |
指定用于根据客户端IP地址确定组织的数据库。使用此数据库时,以下变量可用:
$geoip_org
组织名称,例如“墨尔本大学”。