nginx lua 配置cc 防攻击-使用lua 配置黑白名单


cc 防攻击和ip 禁止期限

lua_shared_dict _dict 1m;
lua_shared_dict _blacklist 10m;
lua_shared_dict _whitelist 10m;
init_by_lua_file conf/lua/init.lua;
lua_package_path "/usr/local/nginx/conf/lua/?.lua;/usr/local/nginx/conf/channel/?.lua;";
location / {set_by_lua_file $cc_allow conf/lua/deny_cc.lua 300 60 300;if ($cc_allow == 1) {return 403;}
}

init.lua

local whitelist = ngx.shared._whitelist
local config = require "whitelist"for host, list in pairs(config.whitelist) dofor j, ip in pairs(list) dolocal token = ip..hostwhitelist:set(token, true)end
end

whitelist.lua

_M_WHITELIST_ = {}
_M_WHITELIST_.whitelist = {["baidu.cn"] = {"1.1.1.1","2.2.2.2"},["baidu.com"] = {"3.3.3.3","4.4.4.4"}
}

deny_cc.lua

local token = ngx.var.remote_addr..ngx.var.host
local dict = ngx.shared._dict
local blacklist = ngx.shared._blacklist
local whitelist = ngx.shared._whitelist
local rate = tonumber(ngx.arg[1])
local seconds = tonumber(ngx.arg[2])
local duration = tonumber(ngx.arg[3])local in_whitelist = whitelist:get(token)
if in_whitelist ~= nil thenreturn 0
endlocal in_blacklist, _ = blacklist:get(token)
if in_blacklist ~= nil thenreturn 1
endlocal req, _ = dict:get(token)
if req thendict:incr(token, 1)req = req + 1if req > rate thenblacklist:set(token, true, duration)return 1end
elsedict:set(token, 1, seconds)
endreturn 0

nginx lua 配置cc 防攻击-使用lua 配置黑白名单相关推荐

  1. Nginx攻击防护、CC防护、防止SQL注入、防XSS的实践配置方法

    Nginx攻击防护.CC防护.防止SQL注入.防XSS的实践配置方法 防止SQL注入.XSS攻击 Nginx安全防护屏蔽那些恶意的IP和垃圾蜘蛛 nginx网站攻击防护 Nginx简单防御CC攻击 资 ...

  2. Nginx 防攻击安全配置

    网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法) 网站被攻击是一个永恒不变的话题,网站攻击的方式也是一个永恒不变的老套路.找几百个电脑(肉鸡),控制这些电脑同时访问你的网 ...

  3. Nginx并发数、每秒连接数、下载速度限制,防攻击杀手锏

    Nginx并发数.每秒连接数.下载速度限制,防攻击杀手锏 本文链接:https://blog.csdn.net/slovyz/article/details/54583882 1.限制IP访问频率: ...

  4. 系统(爱旅行)部署架构 安装jdk、nginx、mysql、redis、Tengine+Lua+GM安装

    标题 架构分析 准备工作 配置多个5个tomcat 修改其中4个配置文件 jdk 这一块用的Xshell 不建议 准备好几个服务器(开启两个虚拟机) 前端服务器 这块安装nginx总代码如下 后端服务 ...

  5. 运维实践-最新Nginx二进制构建编译lua-nginx-module动态链接Lua脚本访问Redis数据库读取静态资源隐式展现...

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 本章目录: 0x0n 前言简述 知识引入 Lua模块指令阶段 0x01 部署环境 安装说明 安 ...

  6. 使用CloudFlare免费的CDN加速和网站防攻击配置教程

    CloudFlare名气之所以大,一是技术精湛,拥有强大的隐藏IP技术,能有效防御DDOS攻击.CC技术在世界上屈指可数,很多国外网站都使用它.不过要强调一点,cdn加速并不适用于所有的国外主机,如果 ...

  7. 如何配置一套优雅的Lua开发环境

    讨论话题 何为优雅的开发环境 如何部署(本文讨论在MacOSX平台,其他平台也一样适用) 优雅的Lua开发环境 优雅的Lua开发环境至少包含以下几点: 安装适合需求的最新稳定版Lua 安装合适的Lua ...

  8. 《安富莱嵌入式周报》第280期:支持在线仿真编程的网页版电子开发,CAN总线防攻击实现,BigFAT 规范打破了 FAT 每个文件 4GB 的限制

    往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - P ...

  9. [openresty] cc,黑白名单防御配置

    下载安装 openresty 下载 https://github.com/unixhot/waf 配置 注意事项 在使用 unixhot 开源的 waf lua脚本时, 这里记录几个需要修改的地方 修 ...

最新文章

  1. 谷歌pixel3axl开发者模式_谷歌 Android Q 和 iOS 12.3新测试版发布,看完心动了!
  2. Microsoft Build 2015
  3. annie安装教程与Access is denied解决方法
  4. NetBeans优化技巧 提升启动速度
  5. python电子章_Python语言程序设计(电子)答案
  6. java jsonobject转List_java – 将JSONObject转换为List或JSONArray的简单代码?
  7. RCNN系列实验的PASCAL VOC数据集格式设置
  8. Java学习笔记一和前言
  9. 藏不住了,这就是阿里 AI 的真正实力!
  10. Python暴力破解凯撒加密的文本
  11. Linux学习总结(13)——在阿里云的ubuntu上部署个人服务
  12. 了解FPS屏幕刷新率
  13. java中文件处理之图片_Java中的文件处理
  14. 使用iToolab UnlockGo for Mac如何绕过屏幕时间密码
  15. 监控服务器ssh登录,并发送报警邮件
  16. Java项目:SSM酒店客房管理系统
  17. ​2020年,5大顶级数据分析预测
  18. 黑猴子的家:Scala 常用类型
  19. html怎么做一条轴,html实现时间轴_纯css实现响应式竖着/垂直时间抽布局效果
  20. C/C++项目:编译最爱的童年回忆泡泡堂小游戏教程

热门文章

  1. 用Eclipse开发JavaWeb项目:错误信息 javax.servlet.http.HttpServlet was not found on the Java Build Path...
  2. AppSwiper让iphone5快速关闭后台应用
  3. 【ACM】杭电1073:Online Judge
  4. qt 使用非系统字库
  5. 马上开始写 react ES6 --- 基于gulp 和 Babel 的脚手架
  6. 同一AppDomain内的SharpGL的FrameBuffer会相互影响?
  7. OWA修改密码注意事项
  8. linux安装并管理mysql数据库
  9. 微软Citrix合作虚拟化联手对抗VMware
  10. delegate委托