nginx黑名单自动deny脚本

# 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