Nginx+Lua 推荐两个开源项目

7 篇文章 0 订阅

本文的原文连接是: 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


开发的一个基于ngx_lua的web应用防火墙
找到一个
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

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

5,总结


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

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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值