网站首页 > 技术教程 正文
VeryNginx
nginx基本上每个公司都会用到的负载均衡软件。今天介绍一个nginx的扩展工具,可以帮助我们更直观的看到nginx的运行情况。
VeryNginx 是一个功能强大而对人类友好的 Nginx 扩展程序.
开源地址:https://github.com/alexazhou/VeryNginx
介绍
VeryNginx 基于 lua_nginx_module(openrestry) 开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在 Nginx 中运行,扩展了 Nginx 本身的功能,并提供了友好的 Web 交互界面。
VeryNginx在线实例
http://alexazhou.xyz/vn/index.html
用户名 / 密码: verynginx / verynginx
详细配置说明见:VeryNginx Github WiKi
Nginx 运行状态分析
- 每秒请求数
- 响应时间
- 网络流量
- 网络连接数
自定义行为
VeryNginx 包含强大的自定义功能,可以做很多事情
自定义行为包含两部分, Matcher 和 Action 。 Matcher 用来对请求进行匹配, Action 为要执行的动作
这样的优势在于把所有的前置判断整合在Matcher里一起来实现了,使复杂(组合)规则的实现变成了可能
Matcher
一个 Matcher 用来判断一个 Http 请求是否符合指定的条件, 一个 Matcher 可以包含一个或者多个约束条件,目前支持以下几种约束:
- Client IP
- Host
- UserAgent
- URI
- Referer
- Request Args
当一个请求没有违反 Matcher 中包含的全部条件时,即命中了这个 Matcher
Action
每个 Action 会引用一个 Matcher ,当 Matcher 命中时, Action 会被执行
目前已经实现了以下 Action
- Scheme Lock 将访问协议锁定为 Https 或者 Http
- Redirect 对请求进行重定向
- URI Rewrite 对请求的 URI 进行内部重写
- Browser Verify 通过set-cookies 和 js 验证客户端是否为浏览器,并拦截非浏览器流量。本功能可能会阻拦搜索引擎爬虫,建议仅在被攻击时开启,或者针对搜索引擎编写特别的规则。
- Frequency Limit 访问频率限制
- Filter(waf) 过滤器
因为 Matcher 可以对请求进行细致的匹配,所以结合 Filter Action,就可以实现一个高级的WAF,可以利用Matcher中所有的条件来对请求进行过滤,并返回指定状态码
VeryNginx 预置了常用的过滤规则,可以在一定程度上阻止常见的 SQL 注入、Git 及 SVN 文件泄露、目录遍历攻击,并拦截常见的扫描工具。
Backend
每个 Backend 会引用一个 Matcher ,当 Matcher 命中时, 请求会通过 Backend 进行处理
目前已经实现了以下 Backend
- Proxy Pass 将请求反向代理到其它服务器
- Static File 使用本地文件处理请求
访问统计
VeryNginx 可以统计网站每个URI的访问情况,包括每个URI的:
- 总请求次数
- 各状态码次数
- 返回总字节数
- 每请求平均字节数
- 总响应时间
- 平均响应时间
并且可以按各种规则排序进行分析。
猜你喜欢
- 2024-10-14 docker + Jenkins + gogs 自动化部署
- 2024-10-14 吐血整理,全网最全Git命令手册(git命令大全)
- 2024-10-14 GitHub下载榜飙升至第一的阿里P8手写5000页Java全栈学习手册
- 2024-10-03 Nginx 整合 FastDFS 实现文件服务器
- 2024-10-03 nginx视频直播/点播服务干货分享(nginx视频服务器)
- 2024-10-03 准备好给你的nginx服务器加个防火墙吗 ?
- 2024-10-03 部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)「操作篇(1)」
- 2024-10-03 Docker实战:基于centos7镜像创建nginx容器镜像
- 2024-10-03 Nginx合并Js/Css(nginx和tomcat整合)
- 2024-10-03 NGINX sub_filter 和 subs_filter 指令讲解
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)