在ngnix的conf目录下创建一个blockip.conf文件
里面放需要封禁的IP,格式如下
deny1.2.3.4;
在ngnix的HTTP的配置中添加如下内容
includeblockips.conf;
重启 ngnix
/usr/local/nginx/sbin/nginx-sreload
然后你就会看到IP被封禁了,你会喜提403;
小思考:如何实现使用ngnix自动封禁ip的功能
1.AWK统计access.log,记录每分钟访问超过60次的ip,然后配合nginx进行封禁 2.编写shell脚本 3.crontab定时跑脚本
好了上面操作步骤列出来了,那我们先来实现第一个吧
操作一:AWK统计access.log,记录每分钟访问超过60次的ip
awk'{print$1}'access.log|sort|uniq-cd|awk'{if($1>60)print$0}' 1.awk'{print$1}'access.log 取出access.log的第一列即为ip。 2.sort|uniq-cd去重和排序 3.awk'{if($1>60)print$0}'判断重复的数量是否超过60个,超过60个就展示出来
操作二:编写shell脚本,实现整体功能(写了注释代码)
#不能把别人IP一直封着吧,这里就清除掉了 echo"">/usr/local/nginx/conf/blockip.conf #前面最开始编写的统计数据功能 ip_list=$(awk'{print$1}'access.log|sort|uniq-cd|awk'{if($1>60)print$0}') #判断这个变量是否为空 iftest-z"$ip_list" then #为空写入11.log中,并重新启动ngnix echo"为空">>/usr/local/nginx/logs/11.log /usr/local/nginx/sbin/nginx-sreload else #如果不为空前面加上deny格式和ip写入blockip.conf中 echo"deny"$ip_list>/usr/local/nginx/conf/blockip.conf #因为前面携带了行数,所有我们需要去除掉前面的行数,写入后在读取一次 ip_list2=$(awk'{print$3}'/usr/local/nginx/conf/blockip.conf) #最后再把读取出来的值,在次写入到blockip.conf中 echo"deny"$ip_list2";">/usr/local/nginx/conf/blockip.conf #重启ngnix /usr/local/nginx/sbin/nginx-sreload #清空之前的日志,从最新的开始截取 echo"">/usr/local/nginx/logs/access.log fi
操作三:使用crontab定时,来实现访问每分钟超过60的
crontab-e *****cd/usr/local/nginx/logs/&&ship_test.sh每一分钟运行一次 systemctlrestartcrond.service重启一下配置既可
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
IP
+关注
关注
5文章
1632浏览量
149298 -
HTTP
+关注
关注
0文章
501浏览量
31013 -
文件
+关注
关注
1文章
561浏览量
24683 -
Shell
+关注
关注
1文章
363浏览量
23270 -
脚本
+关注
关注
1文章
387浏览量
14817
原文标题:Ngnix IP封禁以及实现自动封禁IP
文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
请问如何实现固定mac在自动获取ip之前
/forlinx/shell/mac.sh 结果:设备自动获取的ip还是一直变化,推测是固定mac这步操作在自动获取ip之后。请问如何实现固
发表于 01-13 07:05
为什么美国能封禁华为,中国却不能封禁苹果?
美国对于华为的封禁已经持续了相当长的一段时间了,美国以各种手段对华为进行打压,以此来限制中国的发展。美国对于中国企业的封禁,并不仅仅只有这一次而已,早在之前美国就对中兴采取了制裁,向中兴收了天价
巴基斯坦为什么封禁了 TikTok
一旦 TikTok 整改成功,在巴基斯坦解封的机会还是有的。 继印度之后,TikTok,中国出海最为成功的 App,又被另外一个国家封禁了。 这一回,是印度的老邻居和老对头,巴基斯坦。 是的,你没有
开源下片神器“youtube-dl”被官方封禁
最近对于老司机们来说,有一个不得不关注的新闻——著名开源下片神器“youtube-dl”被GitHub官方封禁。
Facebook将无限期封禁美国总统特朗普帐号
据报道,Facebook CEO马克·扎克伯格(Mark Zuckerberg)日前表示,Facebook将无限期封禁美国总统特朗普的帐号。有网友表示“特朗普也会被封号”“你号没了”。
Twitter永久封禁特朗普账号后Twitter股价跌逾6%
账号最近的推文以及这些推文的上下文之后,特别是审视了人们在推特上以及外部对这些推文的接受和解读方式之后,我们已经永久封禁该账号,因为存在进一步煽动暴力的风险。” 美国前国家安全顾问弗林(Michael
发表于 01-12 13:14
•617次阅读
快讯:亚马逊回应封禁中国卖家账号 中国联通回应携号转网困难
近日,亚马逊公司对关于封禁中国卖家账号一事作出了回应,称一共封禁约3000个中国卖家账号,中国卖家的账号涉嫌滥用客户的账号进行评论行为,造成的情节比较严重,才会作出暂停卖家账户的决定。
如何建立一个动态的IP黑名单
Nginx 通过 Lua + Redis 实现动态封禁 IPJava后端 3天前为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单。对于黑名单之内的
马斯克明言将在完成收购Twitter后解除特朗普账号的封禁
:Twitter对封禁账号这件事应该谨慎处理,而这次大会上,马斯克表示道:Twitter不应该存在永久封禁账号这一处罚,永久封禁应该是用来处理那些机器人、诈骗、垃圾信息账户的。马斯克还明确的表示他认为Twitter永久
攻防演练典型攻击手法及防御手段
攻击方通过部署大量的自动化扫描来实施信息的快速收集,这些扫描大部分通过代理池、云函数服务来实施,以绕过防守方对扫描方IP封禁的操作。下图为通过某云函数来进行扫描,技术原理与代理池不同,但同样能
详细解读爬虫多开代理IP的用途,以及如何配置!
爬虫多开代理IP是一种在爬虫开发中常用的技术策略,主要用于提高数据采集效率、避免IP被封禁以及获取地域特定的数据。
评论