nginx 的地理 IP 模块

Posted

技术标签:

【中文标题】nginx 的地理 IP 模块【英文标题】:Geo IP Module for nginx 【发布时间】:2012-11-07 15:23:59 【问题描述】:

在我的 nginx 服务器上,我将使用多个地理 ip 数据库(一个用于国家+城市,另一个用于 isp 或组织)。我找不到用于 nginx 和/或 pecl 的模块来运行多个这些数据库。

数据库提供者不会发布一个包含所有数据在一个文件中的单个数据库),所以看起来我迷路了。

http://wiki.processmaker.com/index.php/Nginx_and_PHP-FPM_Installation 似乎只适用于一个数据库。

【问题讨论】:

【参考方案1】:

使用标准的内置 GeoIP nginx 模块是可能的: http://nginx.org/en/docs/http/ngx_http_geoip_module.html

geoip_country  CountryCity.dat;
geoip_city     CountryCity.dat;
geoip_org      Organization.dat;

【讨论】:

也许我错过了什么,但我仍然找不到 ISP.dat 你对geoip_org ISP.dat;有什么问题吗? 根据您在geoip_org 指令中指定的数据库文件,您将在$geoip_org nginx 变量中拥有组织、域、ISP 或AS 编号。 数据库提供商向我提供了 2 个单独的数据库,一个是组织,另一个是 ISP。我真的不想在两者之间切换,因为我需要来自两个数据库来源的详细信息。 您可以将geoip_org 与一个数据库文件一起使用,而将PHP 模块与另一个数据库文件一起使用。它看起来像一个 hack,但我希望 nginx 将支持这种情况下的单独设置。您可以在trac.nginx.org/nginx 填写功能请求(它可能会加快速度)。

以上是关于nginx 的地理 IP 模块的主要内容,如果未能解决你的问题,请参考以下文章

Python脚本查询IP的地理位置

nginx,我已添加了lua模块。我要用lua在nginx的conf文件里面配置负载均衡

Nginx geo ip模块不起作用,找不到调试方法

nginx 用户访问添加密码;autoindex模块详解;传送client IP

Nginx实现基于ip的访问控制(Ngx_http_access_module模块)

Nginx中常见的模块及其作用