nginx禁用国外ip


新买了阿里云服务器,自己搭了一个博客系统,今天早上发现cpu访问率100%,一下子没反应过来,可能是被当作肉鸡的,重启后在access.log发现大量的国外ip,为了排查,直接先把国外的ip先禁止网络再说,开搞

方法一:

  拿到所有国外ip段,更新到nginx中来做限制

# 用脚本每周更新国外IP库,利用nginx deny功能直接拒绝这些IP地址。

#先到/usr/local/tools下新建black_nginx.sh

#添加到crontab
0 0 * * 5 /bin/bash /usr/local/tools/black_nginx.sh

#编写black_nginx.sh如下
#!/bin/bash

rm -f legacy-apnic-latest black_`date +%F`.conf && wget http://ftp.apnic.net/apnic/stats/apnic/legacy-apnic-latest

awk -F '|' '{if(NR>2)printf("%s %s/%d%s\n","deny",$4,24,";")}' legacy-apnic-latest > black_`date +%F`.conf && rm -f /usr/local/nginx/conf/black.conf && ln -s $PWD/black_`date +%F`.conf /usr/local/nginx/conf/black.conf && /etc/init.d/nginx reload

在nginx.conf中加入black.conf

 预先执行脚本

sh /usr/local/tools/black_nginx.sh

重启nginx

nginx -s reload

 

 

 

 

参考:

  cnblogs.com/guoyabin/p/14263732.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM