文档章节

基于nginx+lua实现防火墙动态规则请求限制

testwork
 testwork
发布于 2016/06/01 13:38
字数 186
阅读 578
收藏 9

基于nginx,使用redis存储标志.

实现waf防火墙类似功能

location /uri {

        access_by_lua_block {

             if ngx.var.path then 

                ngx.say('filter')

                ngx.exit(ngx.HTTP_OK)

             end

        }

       proxy_pass http://10.10.10.1/python;

}

可以针对access_by_lua_file写很长的业务逻辑,

1) 白名单,黑名单

2) 用户cookie

3) 用户ip

都可以实现这些规则,将标记量存放到redis里面.

针对proxy_pass功能的业务是可以使用这种方式来实现的.

已经有人基于waf这种方式来控制请求参数,是否非法.

可以查看loveshell牛逼waf的项目: https://github.com/loveshell/ngx_lua_waf

lua的github项目地址超级牛逼的

   https://github.com/openresty/lua-nginx-module

https://blog.cloudflare.com/cloudflares-new-waf-compiling-to-lua/

© 著作权归作者所有

testwork
粉丝 4
博文 74
码字总数 21048
作品 0
崇明
程序员
私信 提问
加载中

评论(1)

554330833a
554330833a
这个不是反向代理的吗?
使用nginx+lua实现WAF功能

一、了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级***防御系统 。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用 防火墙 是通过执行一系列针...

kuSorZ
2018/06/20
0
0
什么是WAF(lua+nginx)

一、了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级***防御系统 。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用 防火墙 是通过执行一系列针...

菜鸟东哥
2018/07/02
0
0
iptables必知必会用法

防火墙 iptables 包过滤型防火墙 防火墙的类别: 代理服务器(proxy):代理client访问internet,分割内部与外部网络 IP Filter:进入本机的tcp/ip封装协议进行过滤 软件防火墙(逻辑上实现)...

老城小叙
2017/06/13
0
0
使用Nginx+Lua(OpenResty)开发高性能Web应用

Nginx+Lua(OpenResty)开发高性能Web应用 使用Nginx+Lua(OpenResty)开发高性能Web应用 在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而...

oldgril
2017/02/27
0
0
软WAF的另一种思路:基于Openresty+Naxsi的WAF实现

  * 本文作者:erwinlic,本文属FreeBuf原创奖励计划,未经许可禁止转载   0×00 WAF概要   目前软WAF的开发,大部分都采用Nginx+Lua基于openresty的方式,安全防护策略如果是基于lua...

FreeBuf
2018/05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android OkHttp + Retrofit 取消请求的方法

本文链接 前言 在某一个界面,用户发起了一个网络请求,因为某种原因用户在网络请求完成前离开了当前界面,比较好的做法是取消这个网络请求。对于OkHttp来说,具体是调用Call的cancel方法。 ...

shzwork
59分钟前
6
0
并发编程之Callable异步,Future模式

Callable 在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或...

codeobj
今天
6
0
Ubuntu环境下安装PaddlePaddle

开篇 深度学习技术是目前非常热门的技术,笔者在闲暇之余决定学习一下这门技术,入门选择了百度开源的PaddlePaddle框架。 paddlepaddle介绍 飞桨(PaddlePaddle) 是国际领先的端到端开源深度学...

豫华商
今天
6
0
LeetCode 第 287 号问题:寻找重复数,一道非常简单的数组遍历题,加上四个条件后感觉无从下手

今天分享的题目来源于 LeetCode 第 287 号问题:寻找重复数。 题目描述 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只...

五分钟学算法
今天
6
0
vuex mapActions

本文转载于:专业的前端网站➧vuex mapActions 在组件中使用 this.$store.dispatch('xxx') 分发 action,或者使用 mapActions 辅助函数将组件的 methods 映射为 store.dispatch 调用(需要先在...

前端老手
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部