nginx 动态设置黑名单

由于上线了公共API,所以导致大量的爬虫攻击服务器,然后反爬虫机制就来了,最简单的就是设置nginx的ip黑名单
技术交流QQ群 1093476453

  • 话不多说 先上脚本
#!/bin/bash
# 查看日志5W条记录
tail -n50000 /www/wwwlogs/39.105.38.10.log \
# 根据自己的需求截取相应的内容 $1必不可少是IP    
|awk '{print $1,$7,$9}' \
# 过滤掉正常的多访问记录百度蜘蛛。。。。相信大家都知道
|grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou|360|bing|soso|403|api" \
# 对单个IP访问量进行统计并记数
|awk '{print $1}'|sort|uniq -c|sort -rn \
# 当访问量达到峰值会向名单中添加次IP  
|awk '{if($1>1500)print "deny "$2";"}' > /www/server/nginx/conf/vhost/blockip.conf
# 加载nginx配置 
/www/server/nginx/sbin/nginx -s reload

ps 把上面的路径配置为自己的就ok了

  • 加入服务器的定时任务 半个小时执行一次
0,30 0-23 * * * /www/server/blockip.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值