Nginx+Lua 推荐两个开源项目

简介: 本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51549586 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys1,Nginx+Luanginx+lua 还是非常好等东西。 首先nginx非常快,在加上lua开发速度快。 两个完美

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

目录
相关文章
|
5月前
|
监控 物联网 应用服务中间件
流媒体方案之Nginx——实现物联网视频监控项目
流媒体方案之Nginx——实现物联网视频监控项目
流媒体方案之Nginx——实现物联网视频监控项目
|
5月前
|
存储 缓存 Java
Openresty(lua+nginx)-Guava-Redis做多级缓存
Openresty(lua+nginx)-Guava-Redis做多级缓存
56 1
|
5月前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
486 0
|
5月前
|
JavaScript 应用服务中间件 nginx
【报错】nginx部署项目后Echarts折线图无法展示
在Vue3+TS+Arco项目中,打包后使用Nginx部署的Echarts折线图显示异常,报`Cannot read properties of undefined(reading 'setOption')`错误。问题源于在定义div时使用了Vue2的`$refs`语法,导致DOM元素无法正确初始化Echarts。解决方法有两种:1) 不推荐使用`document.getElementById`获取DOM并初始化Echarts;2) 推荐在Vue3中通过`ref`获取DOM,在`onMounted`中使用`echarts.init`并借助`nextTick`异步绘制数据。
138 3
|
5月前
|
应用服务中间件 nginx
【Nginx】 nginx 项目上线后刷新页面丢失 404
【Nginx】 nginx 项目上线后刷新页面丢失 404
369 2
|
3天前
|
JavaScript 应用服务中间件 nginx
nginx部署vue项目
本文介绍了将Vue项目部署到Nginx的步骤,包括构建Vue项目、上传dist文件夹到服务器、安装Nginx、配置Nginx代理静态文件以及重启Nginx,确保了Vue应用可以通过域名或IP地址访问。
15 1
|
5天前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
16 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
13天前
|
JavaScript 应用服务中间件 开发工具
vue尚品汇商城项目-day07【53.nginx反向代理配置】
vue尚品汇商城项目-day07【53.nginx反向代理配置】
27 4
|
2月前
|
应用服务中间件 nginx
[nginx]lua读取请求体
[nginx]lua读取请求体
|
2月前
|
缓存 应用服务中间件 nginx
[nginx]lua控制响应头
[nginx]lua控制响应头