业界动态
Nginx之IP国家代码ngx_http_geoip2_module模块简介和使用
2024-11-14 21:43

  ngx_http_geoip2_module模块使用预编译的MaxMind数据库创建变量,其值取决于客户端 IP 地址 ,通过此模块我们可以精准的限制或者允许某个国家的IP地址访问WEB站点。MaxMind的GeoIP2和GeoLite2 IP智能产品和服务用于发现有关特定IP地址的信息。我们提供免费和付费网络服务、基于订阅的可下载数据库和免费可下载数据库。我们学习使用免费版本的就可以,当然付费版本的更新更及时,内容更详细(包括国家、城市、经纬度、运营商、甚至企业信息)。

Nginx之IP国家代码ngx_http_geoip2_module模块简介和使用

[root@s141 local]# wget https://github.com/maxmind/libmaxminddb/releases/download/1.6.0/libmaxminddb-1.6.0.tar.gz

[root@s141 local]# tar -zxvf libmaxminddb-1.6.0.tar.gz [root@s141 local]# cd libmaxminddb-1.6.0 [root@s141 libmaxminddb-1.6.0]#

[root@s141 libmaxminddb-1.6.0]# https://blog.csdn.net/carefree2005/article/details/configure [root@s141 libmaxminddb-1.6.0]# make [root@s141 libmaxminddb-1.6.0]# make install

[root@s141 local]# echo ‘/usr/local/lib’ > /etc/ld.so.conf.d/geoip.conf [root@s141 local]# ldconfig

[root@s141 local]# wget https://github.com/leev/ngx_http_geoip2_module/archive/refs/heads/master.zip

[root@s141 local]# unzip master.zip Archive: master.zip a26c6beed77e81553686852dceb6c7fdacc5970d creating: ngx_http_geoip2_module-master/ inflating: ngx_http_geoip2_module-master/LICENSE inflating: ngx_http_geoip2_module-master/README.md inflating: ngx_http_geoip2_module-master/config inflating: ngx_http_geoip2_module-master/ngx_http_geoip2_module.c inflating: ngx_http_geoip2_module-master/ngx_stream_geoip2_module.c

[root@s141 opt]# nginx -V nginx version: nginx/1.20.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt=’-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC’ --with-ld-opt=’-Wl,-z,relro -Wl,-z,now -pie’ --add-module=/opt/echo-nginx-module-0.62

[root@s141 opt]# wget http://nginx.org/download/nginx-1.20.1.tar.gz

[root@s141 nginx-1.20.1]# https://blog.csdn.net/carefree2005/article/details/configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt=’-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC’ --with-ld-opt=’-Wl,-z,relro -Wl,-z,now -pie’ --add-module=/opt/echo-nginx-module-0.62 --add-module=/usr/local/ngx_http_geoip2_module-master … [root@s141 nginx-1.20.1]# make

[root@s141 nginx-1.20.1]# cp -f objs/nginx /usr/sbin/nginx cp: overwrite ‘/usr/sbin/nginx’? y

[root@s141 nginx-1.20.1]# systemctl stop nginx [root@s141 nginx-1.20.1]# systemctl start nginx

  访问官网下载免费版本的GeoIP2库,我们下载压缩包,里面是二进制mmdb格式的库文件。下载链接,需要注册登录下载。如果无法登录官网可以通过CSDN下载,CSDN下载地址。 在这里插入图片描述 在这里插入图片描述

将二进制库文件上传到/usr/share/GeoIP目录

[root@s141 GeoIP]# pwd /usr/share/GeoIP [root@s141 GeoIP]# ll total 78364 -rw-r–r-- 1 root root 74230321 Nov 24 15:57 GeoLite2-City.mmdb -rw-r–r-- 1 root root 6011025 Nov 24 15:57 GeoLite2-Country.mmdb

[root@s141 GeoIP]# cd /etc/nginx/ [root@s141 nginx]# vim nginx.conf

在http模块中加入如下内容

 

日志格式配置中加入国家代码 在这里插入图片描述

使用nginx -t命令验证配置文件测试通过,说明模块以及安装成功 [root@s141 nginx]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

 

(base) [root@sun-site nginx]# nginx -s reload

在这里插入图片描述

[root@jiujiu ~]# curl https://download.sun-site.com/myip 152.32.150.199 United States NA

添加如下配置在http块内

 

黑名单国家地址访问URL返回403 在这里插入图片描述 其他国家访问返回正常信息 在这里插入图片描述

  • 原因:libmaxminddb动态库未加载
  • 解决方案: #加载libmaxminddb动态库 #echo ‘/usr/local/lib’ > /etc/ld.so.conf.d/geoip.conf #ldconfig
最新文章
《实战十一人》12月20日内测开启
t2627_2_2627_1:4.0t1-t0:45.0t2-t1:4.0t3-t2:0.0t4-t3:2.0t5-t4:32.0t6-t5:14.0t7-t6:3.0t8-t7:0.0t9-t8:15.0t10-t9:0.0t11-t10
“报关骗局”阿里云客服《APP》软件无法提现是骗局吗,不正规能追回吗?
〖→被骗请点击进入帮助平台提现追款〗〖→被骗请点击进入帮助平台提现追款〗希望阅读此文的读者能够及时采取措施以减少损失;请
微信公众号点击菜单拉取消息事件推送如何操作?
2、注册成功后,通过用户名和密码登录微号帮平台,立即登录6、粉丝点菜单定时推送:推送信息设置7、推送信息设置:自定义弹出信
p站加速器哪个好?手把手教你怎么进P站?
老司机说的P站是什么?网上很多人都在说P站,而还有不少小白们不懂P站是什么意思,在网上也搜不到答案。其实,P站是有两层意思的
"码海拾贝-趣探1688:免费源码的狂欢"
一瞥眼,成品网站源码1688免费推荐,嘿,这话题不就跟那菜市场里挑挑拣拣的大妈一样,热热闹闹,沸反盈天?今儿个,科技圈里这档
哪些平台最适合进行广告推广?
在当今数字化时代,推广广告已成为企业营销战略的重要组成部分,选择合适的平台进行广告投放对于提高品牌知名度、吸引潜在客户以
东莞外贸建站推广,东莞外贸网站推广,东莞谷歌SEO优化
  在当今全球化的市场环境下,外贸企业越来越依赖于互联网来拓展业务和提高度。为了在激烈的竞争中脱颖而出,提高外贸网站在搜
maya快捷键大全
MAYA快捷键大全免费领取q群:289728818“独学而无友,则孤陋而寡闻!欢迎广大站友进群交流学习Enter 完成当前操作  ~ 终止当前操
外贸网站建设广告/百度下载电脑版
我开始使用 sklearn.naive_bayes.GaussianNB 进行文本分类,并且获得了很好的初始结果 . 我想使用分类器返回的概率作为置
优化博客seo的建议(优化博客seo的建议有哪些)
大家好,今天小编关注到一个比较有意思的话题,就是关于优化博客seo的建议的问题,于是小编就整理了7个相关介绍优化博客seo的建