首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ngx_http_geoip_module

  • 示例配置
  • 指令
  • geoip_country
  • geoip_city
  • geoip_org
  • geoip_proxy
  • geoip_proxy_recursive

所述ngx_http_geoip_module模块(0.8.6+)与根据客户端的IP地址值,并使用预编译的创建变量的MaxMind数据库。

当使用支持IPv6的数据库时(1.3.12,1.2.7),IPv4地址将被视为IPv4映射的IPv6地址。

该模块不是默认生成的,它应该使用--with-http_geoip_module配置参数启用。

该模块需要MaxMind GeoIP库。

示例配置

代码语言:javascript
复制
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;
    ...

指令

句法:

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电话区号(仅限美国)。

由于相应的数据库字段已弃用,因此此变量可能包含过时的信息。

$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文件;

默认:

语境:

HTTP

指定用于根据客户端IP地址确定组织的数据库。使用此数据库时,以下变量可用:

$geoip_org 组织名称,例如“墨尔本大学”。

句法:

geoip_proxy地址| CIDR;

默认:

语境:

HTTP

定义可信地址。当请求来自可信地址时,将使用来自“X-Forwarded-For”请求标题字段的地址。

句法:

geoip_proxy_recursive 开启|关闭;

默认:

geoip_proxy_recursive off;

语境:

HTTP

如果递归搜索被禁用,那么将使用在“X-Forwarded-For”中发送的最后一个地址,而不是匹配其中一个可信地址的原始客户端地址。如果启用递归搜索,则将使用在“X-Forwarded-For”中发送的最后一个不可信地址,而不是匹配其中一个可信地址的原始客户端地址。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com