设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > Nginx

ngx_http_ipip_module 为 Nginx 集成 ipip 的插件

时间:12-14来源:作者:点击数:

如何使用

为 ngx_http_ipip_module 设置 nginx 配置如下:

http {
    ipip_ip_datx /xx/real_ip.datx;
    ipip_phone_txt /xx/real_phone.txt;

    server {
        listen 1999;

        location / {
                ipip on;
        }
    }
}

现在你可以得到如下的 ip 信息:

[root@localhost ~]# curl "http://127.0.0.1:1999/ip?ip=8.8.8.8"
{
    "ret":  "ok",
    "data": ["GOOGLE", "GOOGLE", "", "google.com", "level3.com", "", "", "", "", "", "", "*", "*"]
}

或者您可以通过以下方式获取电话信息:

[root@localhost ~]# curl "http://127.0.0.1:1999/phone?phone=13000000101"
{
    "ret":  "ok",
    "data": ["北京", "北京", "中国联通网络"]
}

如何自动更新

根据 https://www.ipip.net/ 的 check-version api ,我们可以自动检查 ip 和手机版本。我们建议使用 crontab 来自动更新,如下所示:

1 3 * * * xx flock -n /xx/ipip.lock /path/to/ngx_http_ipip_module/scripts/autoupdate.sh &> /data/logs/ipinfo.log

顺便说一下,您必须将作为ipip上令牌的私有数据设置为 scripts/var 文件,如下所示:

export IPTOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaa
export PHONETOKEN=bbbbbbbbbbbbbbbbbbbbbbbbbbbb
export PATH=/opt/nginx/sbin:$PATH

您也可以重写 autoupdate.sh 以适合自己。并且 fake_ip.datx 和 fake_phone.txt 是为了运行测试的假文件(建议我们从 ipip 购买服务以获取真实文件)。

要求

ngx_http_ipip_module 需要以下内容才能运行:

选项

ipip_ip_datx

设置 ip datx 文件

  • Syntax: ipip_ip_datx /path/to/file
  • Default: -
  • Context: main
http {
    ipip_ip_datx /xx/real_ip.datx;
}

ipip_phone_txt

设置手机 txt 文件

  • Syntax: ipip_phone_txt /path/to/file
  • Default: -
  • Context: main
http {
    ipip_phone_txt /xx/real_phone.txt;
}

ipip

启用 ngx_http_ipip_module

  • Syntax: ipip on|false
  • Default: -
  • Context: loc
location / {
    ipip on;
}

项目地址:https://github.com/youzan/ngx_http_ipip_module

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐