nginx封IP脚本

#!/bin/bash
max=4
confdir=/etc/nginx/conf.d/blockips.conf
logdir=/var/log/nginx/access.log
echo "">$confdir
cat $logdir|awk '/send_sms/ {print $1}'|sort|uniq -c|sort -n|while read line
do
a=(`echo $line`)
if [ $a -ge $max ]
then
 echo "deny ${a[1]};" >>$confdir
fi
done

扒出nginx下access.log日志中含有send_sms字段的可疑IP

然后通过awksortuniq命令排序去重后,变成 deny X.X.X.X;格式后,写入到nginx封IP的配置文件blockips.conf中。

然后reload nginx 使其生效即可。

原文地址:https://www.cnblogs.com/kaneyang/p/7423007.html