ngx_http_ipip_module 为 Nginx 集成 ipip 的插件
如何使用
为 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": ["北京", "北京", "中国联通网络"] }
如何自动更新
根据 ipip 的 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 需要以下内容才能运行:
- nginx 或其他版本如 openresty、tengine
- test-nginx 仅用于运行测试
- ipip ip datx 和电话号码txt文件
选项
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; }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论