国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 服务器 > Nginx+Lua 推荐两个开源项目

Nginx+Lua 推荐两个开源项目

来源:程序员人生   发布时间:2016-06-02 08:34:42 阅读次数:4917次

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51549586 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,Nginx+Lua


nginx+lua 还是非常好等东西。
首先nginx非常快,在加上lua开发速度快。
两个完善的结合。发现两个项目,对系统上线,运维有好处。

2,ABTestingGateway


nginx 是目前使用较多的7层服务器,可以实现高性能的转发和响应;ABTestingGateway 是在 nginx 转发的框架内,在转向 upstream 前,根据 用户要求特点 和 系统的分流策略 ,查找出目标upstream,进而实现分流。

http://www.oschina.net/p/abtestinggateway
实现灰度发布的nginx+lua开发的项目。

项目放到github上面了。
https://github.com/CNSRE/ABTestingGateway

3,ngx_lua_waf


开发的1个基于ngx_lua的web利用防火墙
找到1个
http://www.open-open.com/lib/view/1423472640076

github项目地址:
https://github.com/loveshell/ngx_lua_waf

4,增加cc拦截


最后找到cc拦截的代码,其实很简单:

--取得真实IP。 function getClientIp() IP = ngx.var.remote_addr if IP == nil then IP = "unknown" end return IP end --"100/60" --设置cc攻击频率,单位为秒. local uri = ngx.var.uri local cc_count = 100 local cc_seconds = 60 local token = getClientIp() .. uri local limit = ngx.shared.limit local req, _ = limit:get(token) if req then if req > cc_count then ngx.exit(503) return true else limit:incr(token, 1) end else limit:set(token, 1, cc_seconds) end

把这个代码放到1个lua文件里面就能够增加防cc攻击模块了。
可以防些简单的攻击。

5,总结


lua还是非常强大的,代码开发速度快。
在nginx上面可以做很多事情,好好的将系统保护起来。

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51549586 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生