nginx 动态添加ip黑名单
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # !/bin/bash # 进入日志目录 cd /www/wwwlogs; # 遍历访问日志文件 过滤错误日志 dirs=`ls ./*.log | grep -v error.log`; # 设置IP黑名单配置文件 blockip_file= '/www/server/nginx/conf/block_ip.conf' ; for dir in ${dirs[@]} do # 列出最近5000条访问数据 过滤掉蜘蛛 列出Ip 并排序 # 计算出ip重复的次数并记录在旁边 # 排序后 把重复次数大于 50的ip 写入ip黑名单内 tail -n 5000 $dir \ | grep -v 'splider' \ | awk '{print $1}' \ | sort \ | uniq -c \ | sort -rn \ | awk '{ if ($1 > 50) print "deny "$2";"}' >> $blockip_file ; done # 过滤正常允许访问的ip allow_ip=`cat /www/server/nginx/conf/allow_ip.conf`; # 将阻塞ip去重后再写入 ips=`cat $blockip_file | sort -u | grep -v "$allow_ip" ` echo "$ips" > $blockip_file ; # 重载nginx配置 nginx -s reload; |
Talk is cheap, show me the code.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
2020-03-18 vim 使用笔记