业界动态
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
最新文章
iphone15promax是什么屏幕材质 iphone15promax屏幕材质介绍【详解】手机屏幕材质「iphone15promax是什么屏幕材质 iphone15promax屏幕材质介绍【详解】」
  随着时代的进步现在的是越来越先进了,很多功能都会在手机上面实现了,iPhone 15 Pro Max作为近日新发布的机型,已经成为苹
手机屏幕尺寸大全手机屏幕尺寸「手机屏幕尺寸大全」
1、手手机机屏屏幕幕尺尺寸寸长长宽宽面面积积计计算算请在屏幕尺寸中填入屏幕大小(英寸),长宽比填入分辨率即可自动计算出手
手机2电影手机「手机2」
《手机2》是一部由华谊兄弟传媒集团投资出品,导演冯小刚执导的剧情电影,影片是《手机》的续集,改编自改编自刘震云同名小说《
毁我两观的《人类简史》,都毁了啥?戒手机「毁我两观的《人类简史》,都毁了啥?」
这年头,不读书,眼界必定是狭隘的,不读书,三观绝对是坚固的、没有长进的(就是那种fixed mind,固定思维的人)。不读书,三观
深圳福田区高三冲/刺辅导班哪个好精选人气排行榜名单出炉
学大教育高中辅导机构,深耕个性化教育20年。学大教育是A股市场上专注于个性化教育的上市公司,自2001年创立以来,学大教育秉承
华为手机怎么连u盘u盘怎么在手机上使用「华为手机怎么连u盘」
华为手机连接U盘教程要使用华为手机连接U盘,你需要一个适配器和一根OTG数据线。适配器可以将U盘连接到OTG数据线上,而OTG数据线
您的支付密码是生日吗?请马上停止!女士手机「您的支付密码是生日吗?请马上停止!」
近日,沿河公安沙子派出所快速反应,迅速破获一起利用微信转账盗窃案,为群众挽回经济损失近万元。 2024年4月28日,辖区居民田女
以音乐手机出身的OPPO,手机依旧拥有好音质?音质最好的手机「以音乐手机出身的OPPO,手机依旧拥有好音质?」
众所周知,OPPO是做蓝光出身,在手机行业也自带音乐细胞出现,最耳熟能详的一句广告词,OPPO Real音乐手机,伴随着手机行业的发
代表风采 | 李宗吉:专精于“流体” 专注于履职
  李宗吉是吉林省沪航流体科技有限公司总经理,也是延吉市第十九届人大代表。拥有双重身份的李宗吉不论对待工作还是其他事宜,
苹果12 256g二手能卖多少钱 二手苹果12价格一览苹果12手机价格「苹果12 256g二手能卖多少钱 二手苹果12价格一览」
根据现在二手手机的市场定价,64G的苹果12回收价格大概在3000元左右,128G的在3500左右,256g的二手苹果大概的售价则是4000左右