之前写过关于nginx配置动态黑名单功能
原理是查询日志,统计某段时间内访问次数很频繁的ip,对ip进行封禁

如果在nginx之前有WAF,F5设备,remote_addr 的地址是WAF、F5的地址, 客户端真实的IP地址是在
http_x_forwarded_for中的, 这样这样 nginx 默认的 deny 和 allow 就不能用了。

我们定义一个 map 拒绝的 IP 地址列表。cat x_forwarded_for_deny.conf

map $http_x_forwarded_for $allowed {default allow;#~\s*192.168.0.100$ deny;   # 拒绝一个IP地址#~\s*192.168.0.\d+$ deny;    #  拒绝一个网段IP地址include deny_ip.conf;
}

这个deny_ip.conf就是需要禁止的ip,内容参考上面注释的两行,例如

~\s*192.168.1.123$ deny;
~\s*127.20.3.4$ deny;

然后在nginx默认配置文件nginx/conf/nginx.conf里引入这个x_forwarded_for_deny.conf文件

include x_forwarded_for_deny.conf;

然后在需要拦截的location里添加,如下

location / {if ( $allowed = "deny" ) { return 403; }proxy_pass    .....;}

如何动态添加ip至deny_ip.conf配置文件?
结合之前那篇的配置nginx配置动态黑名单

修改为

echo "~\s*$line$ deny;" >> $blockfile/deny_ip.conf

nginx动态黑名单配置2相关推荐

  1. 【Ubuntu18.04】实现redis+lua+nginx动态黑名单封禁

    必要包整合链接 nginx+lua+redis.rar-其它文档类资源-CSDN下载 nginxLuaRedis文件.rar-其它文档类资源-CSDN下载 安装必要环境 apt-get install ...

  2. NGINX Plus集成fail2ban进行动态IP黑名单配置

    NGINX Plus集成fail2ban进行动态IP黑名单配置  安全,NGINX Plus集群,键值存储,入侵检测系统(IDS),IP地址黑名单 照片:Arnold Reinhold –自己的作品, ...

  3. Nginx配置IP地址的动态黑名单

    Nginx配置IP地址的动态黑名单 本节介绍如何创建特定客户端IP地址的黑名单或白名单,拒绝或允许它们访问您的站点以及如何动态维护地址列表. 总览 先决条件 设定 管理键值数据库 完整的例子 也可以看 ...

  4. NGINX动态XFF黑名单配置

    通过XFF地址动态限制访问 方案特点: 无需reload API管理 NGINX PLUS的KEYVAL是可以通过API进行管理的内部可持久化kv存储. KEYVAL查找XFF地址是否在黑白名单中,来 ...

  5. nginx openresty waf动态黑名单 白名单 、centos 、windows下部署

    1.WAF 使用Nginx+Lua实现自定义WAF(Web application firewall) 参考网址https://github.com/unixhot/waf 功能列表: 支持IP白名单 ...

  6. nginx动态配置及服务发现那些事

    标题,  <闲聊nginx动态配置及服务发现的那些事> - 这次的准备闲聊关于nginx服务发现的话题,  按照我以往写文章的性子,估计会迁移一些主题.  毕竟单纯聊nginx和动态服务发 ...

  7. nginx ip黑名单动态封禁

    网站被恶意请求,拉黑IP是重要的手段,如果每次拉黑都要到nginx上配置,未免太low了:我们需要更方便的控制nginx IP黑名单. 1.方案 黑名单持久化到mysql (常见的方案是redis,但 ...

  8. Nginx 动态添加IP黑名单

    防止程序调用,原理:查看日志5W条记录,对单个IP访问量进行统计并记数超过1000视为黑名单IP,每半小时检查执行一次脚本 一.黑名单配置 在http模块最后加上配置 #黑名单设置         i ...

  9. Nginx动态、静态分离,Nginx配置中做适配

    Nginx[静态,动态] 页面是html,mp3,mp4,txt,doc,pdf 动态脚本语言:shell,PHP,java 一:       LNMP (Linux+Nginx+MariaDB==m ...

最新文章

  1. java 工厂的变形模拟的各种应用
  2. tableau可视化数据分析60讲(九)-tableau数值计算字符串计算(重点知识)
  3. 3.1.2 内存管理的概念
  4. Java程序员到架构师的推荐阅读书籍
  5. HOJ 2278 IP Filtering (二分)
  6. 执行引擎(Query Execution Engine),返回结果
  7. css3轮播不用jpuery_js和CSS3 3D轮播图
  8. 使用markdown编辑器(自用,没内容。。)
  9. 把网页放到云服务器上,怎么把网页放到云服务器上
  10. jqGrid 操作一些总结(二)
  11. python右对齐函数_Python这68个内置函数,建议你吃透!
  12. jmeter使用http代理服务器
  13. maven项目报error in opening zip file.
  14. 奥鹏20春季1903C语言,奥鹏20春学期《并行程序设计》在线作业
  15. hdu1870 愚人节的礼物
  16. 详谈室内定位技术方案
  17. 联诚发龙显P1.25系列LED大屏亮相宝安区区政府会议室
  18. Python动物图像分割API简单调用实例演示,阿里达摩院视觉智能开放平台使用步骤
  19. matlab批量修改文件扩展名
  20. 利用物联网+数据建模+数据可视化软件等工具,解决物联网大数据在行业中的应用与挑战

热门文章

  1. 新年上班第一天生产环境分布式文件系统崩了!!
  2. 【AI人工智能】AI会对你的行业产生什么影响?
  3. c语言制作二元一次方程组的根,编程计算二元一次方程的根
  4. web文件被更改crawlergo怎么解决_xray+Crawlergo联动实现批量检测--守株待兔
  5. 他开发了一款PSVR北美欧洲销量最好的中国游戏,秘诀只有两个字
  6. 基于蓝牙主控的智能门锁方案
  7. 滴滴进军实物电商后,阿里发力网约车
  8. xz1推送android9.0,索尼XZ1/XZP港版正式推送Android 9.0更新 搭载4K HDR显示屏
  9. MySQL 异常错误码使用 及 对照表 DataException
  10. 积累20180604