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