您的位置:首页 > 运维架构 > Nginx

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

2016-06-01 13:50 513 查看
摘要: web防火墙,动态添加规则

基于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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web防火墙