# nginx黑名单自动deny脚本
tail -n50000 /usr/local/nginx/logs/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | awk '{if($1>100 && $1<1000 && $2 ~! /^49.80.*/)print "deny "$2";"}' >> /usr/local/nginx/conf/blacklist.conf;
/usr/local/nginx/sbin/nginx -s reload
# 注:if条件中的&& $2 ~! /^49.80.*/是做的白名单,可以在后面追加白名单ip
# 后续步骤:
# 1、保存为可执行文件nginx-blacklist-update.sh 保存后执行chmod +x nginx-blacklist-update.sh
# 2、nginx配置/usr/local/nginx/conf/nginx.conf文件http模块下引入 include blacklist.conf;
# 3、执行crontab -e 然后写入定时执行脚本定时执行更新黑名单 * */2 * * * /root/shell/nginx-blacklist-update.sh
本文为胖虎原创文章,转载无需和我联系,但请注明来自胖虎博客panghucat.cn