1、先查找服务器所有访问者的ip:

awk '{print $1}'  /data/logs/nginx/tg-ga-access.log |sort |uniq -c |sort -n

tg-ga-access.log 为域名的访问日志文件所在路径

会到如下结果,前面是ip的访问次数,后面是ip,很明显我们需要把访问次数多的ip且异常的IP进行封禁 如下结果 (ps: 以下结果是正常的并不是异常的,当做一个例子看就行,异常的访问量很大的,有个几万和几十万不等,访问量大的话程序很容易down掉,并且日志量会飞速增长,很容易将磁盘空间全部占用掉)

2、查看nginx.conf加载配置文件的路径

可以看到nginx会加载vhosts目录里以 conf 结尾的文件。

3、屏蔽IP的方法:

那我们就在 vhosts 目录下面,建一个屏蔽IP的文件,命名为banned_ip.conf,以后新增加屏蔽IP只需编辑这个文件即可。
加入以下内容即可:

deny 140.237.225.236;

ps:请看文件示例:

在nginx的配置文件nginx.conf中加入如下配置,可以放到http, server, location, limit_except语句块,需要注意相对路径,本例当中nginx.conf,banned_ip.conf未在同一个目录中

include vhosts/*.conf;

保存nginx.conf文件,然后测试现在的nginx配置文件是否是合法的:

/usr/local/nginx/sbin/nginx -t

如果配置没有问题,就会输出:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful


如果配置有问题就需要检查下哪儿有语法问题,如果没有问题,需要执行下面命令,重载 nginx 配置文件:

/usr/local/nginx/sbin/nginx -s reload     #不需要重启nginx

4、补充说明:

单个网站屏蔽IP的方法,把include banned_ip.conf; 放到网址对应的server{}模块
所有网站屏蔽IP的方法,把include banned_ip.conf; 放到http {}模块#在nginx.conf文件里这样写也可以,也会加载banned_ip.conf屏蔽IP的文件
include vhosts/*.conf;
#屏蔽单个IP
deny IP;#屏蔽所有ip访问
deny all;#屏蔽IP段
deny 42.0.0.0/8;
deny 42.0.0.0/16;
deny 42.0.0.0/24;#允许单个ip访问
allow IP; #允许所有ip访问
allow all; #也可以除了几个IP外,其他全部拒绝,
banned_ip.conf里可以这样写#有几个允许访问的IP就写几行allow IP;  #允许访问的IP
allow IP;  #允许访问的IP
deny all;  #拒绝所有的IP,白名单的除外。 

Nginx IP封禁相关推荐

  1. Nginx自动封禁IP

    个人网站总被攻击?那就写个自动封禁IP的脚本吧. 思路 AWK统计access.log,记录每分钟访问超过100次的ip,然后配合nginx进行封禁. 编写shell脚本. 定时任务跑脚本. 好,思路 ...

  2. Nginx自动封禁可疑Ip

    文章目录 一.Nginx封禁ip 1.简介 2.nignx 禁止IP访问 2.1 方法一 2.2 方法二 3.关于 deny 的使用 二.脚本自动封禁Ip 1.流程介绍 2.脚本实战 2.1 核心脚本 ...

  3. Ngnix IP封禁以及实现自动封禁IP

    1.在ngnix的conf目录下创建一个blockip.conf文件 2.里面放需要封禁的IP,格式如下 deny 1.2.3.4; 3.在ngnix的HTTP的配置中添加如下内容 include b ...

  4. 风控产品说-用户体验和风控-以IP封禁为例

    我用电子科技大学教育网的ip在浏览boss直聘上的岗位,才打开第二页,就被BOSS直聘的防爬给拦截了. 这个产品自从疫情后加了防爬风控,体验真的很差. 如下图所示 (1)提示IP行为违规,24小时解封 ...

  5. Nginx 如何封禁IP和IP段

    文章目录 前言 1.禁用IP和IP段 2.配置禁用ip和ip段 3.仅允许内网ip 4.格式化nginx的403页面 前言 Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能, ...

  6. Nginx+Lua脚本+Redis 实现自动封禁访问频率过高IP

    前言:由于公司前几天短信接口被一直攻击,并且攻击者不停变换IP,导致阿里云短信平台上的短信被恶意刷取了几千条,然后在Nginx上对短信接口做了一些限制 临时解决方案: 1.查看Nginx日志发现被攻击 ...

  7. openresty开发系列38--通过Lua+Redis 实现动态封禁IP

    openresty开发系列38--通过Lua+Redis 实现动态封禁IP 一)需求背景为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单.对于黑名单之内的 IP ,拒绝 ...

  8. ipset+iptables封禁以及自动解封IP

    iptables封掉少量ip处理是没什么问题的,但是当有大量ip攻击的时候性能就跟不上了,iptables是O(N)的性能.而ipset就像一个集合,把需要封闭的ip地址放入这个集合中,ipset 是 ...

  9. 如何封禁大量恶意 IP

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 摘要:封禁IP分为自动封禁和人工封禁,本文主要介绍如何人工封禁.人工封禁的关键是:无缝协同,方便操作,批量化,一键 ...

最新文章

  1. 16S预测细菌表型-bugbase:革兰氏阴阳、生物膜、致病力、移动元件、氧气消耗等...
  2. jsp 页面中El表达式失效处理
  3. intellij idea 1314 插件推荐及快速上手建议
  4. java实现频繁集_数据挖掘--频繁集测试--Apriori算法--java实现
  5. QML识别模块identifiedmodules
  6. P3181-[HAOI2016]找相同字符【SAM】
  7. js数组再倒数第二个添加元素_归纳JS中数组的使用(一)元素新增和删除
  8. python if and函数_逻辑函数And,OR,IF
  9. 【CSDN】-官方插件推荐懒人必备神器
  10. Android调试系列之dumpsys命令
  11. 页面自动刷新代码大全
  12. mysql 数据库军规_用尽洪荒之力整理的Mysql数据库32条军规(转)
  13. linux入门 适合初学者_听说 C++ Primer-不适合初学者入门!元芳,你怎么看呢?
  14. Oracle、SQL Server、MySQL数据类型对比
  15. 关于 Win32/Conficker.B 蠕虫的病毒警报
  16. 计算机做游戏软件视频,电脑上录制游戏视频用什么软件好?专业的游戏录制软件推荐...
  17. 【iOS-Cocos2d游戏开发】解决滚屏背景/拼接地图有黑边(缝隙)
  18. 人人都能看懂的量子力学——波动力学的建立过程
  19. 依赖注入:语法糖胜于功能组合
  20. mysql frm怎么打开_frm 文件怎么打开?

热门文章

  1. 【宋红康 MySQL数据库】【14】视图
  2. Navi.Soft31.微信WinForm框架(含下载地址)
  3. 看了撒贝宁的“躺平哲学”,才发现很多人不懂躺平,只会摆烂
  4. linux下python怎么换行,python如何输出换行
  5. Volumetric Cloudscapes(一):理论
  6. angular 入门
  7. 安卓多屏互动Presentation
  8. 办公计算机操作基础,计算机办公软件基础操作培训
  9. 怎样在自己的网站上集成paypal国际支付方式
  10. 《操作系统》— I/O设备及其分类