转载:https://github.com/alexazhou/VeryNginx
VeryNginx 是一个功能强大而对人类友好的 Nginx 扩展程序.
v0.2
版本之后,控制台入口被移动到了 /verynginx/index.html
VeryNginx 基于 lua_nginx_module(openrestry)
开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在 Nginx 中运行,扩展了 Nginx 本身的功能,并提供了友好的 Web 交互界面。
用户名 / 密码: verynginx / verynginx
详细配置说明见:VeryNginx Github WiKi
VeryNginx 包含强大的自定义功能,可以做很多事情
自定义行为包含两部分, Matcher 和 Action 。 Matcher 用来对请求进行匹配, Action 为要执行的动作
这样的优势在于把所有的前置判断整合在Matcher里一起来实现了,使复杂(组合)规则的实现变成了可能
一个 Matcher 用来判断一个 Http 请求是否符合指定的条件, 一个 Matcher 可以包含一个或者多个约束条件,目前支持以下几种约束:
当一个请求没有违反 Matcher 中包含的全部条件时,即命中了这个 Matcher
每个 Action 会引用一个 Matcher ,当 Matcher 命中时, Action 会被执行
目前已经实现了以下 Action
因为 Matcher 可以对请求进行细致的匹配,所以结合 Filter Action,就可以实现一个高级的WAF,可以利用Matcher中所有的条件来对请求进行过滤,并返回指定状态码
VeryNginx 预置了常用的过滤规则,可以在一定程度上阻止常见的 SQL 注入、Git 及 SVN 文件泄露、目录遍历攻击,并拦截常见的扫描工具。
每个 Backend 会引用一个 Matcher ,当 Matcher 命中时, 请求会通过 Backend 进行处理
目前已经实现了以下 Backend
VeryNginx 可以统计网站每个URI的访问情况,包括每个URI的:
并且可以按各种规则排序进行分析。
VeryNginx 基于 OpenResty[^openresty],所以安装 VeryNginx 需要先安装好 OpenResty。不过并不用担心安装过程中可能的麻烦,VeryNginx 自身提供了脚本来进行安装工作。
克隆 VeryNginx 仓库到本地, 然后进入仓库目录,执行以下命令
1 2 |
python <span class="hljs-keyword">install</span>.py <span class="hljs-keyword">install</span> |
即可一键安装 VeryNginx 和 以及依赖的 OpenResty
VeryNginx 可以自动为你安装依赖的 OpenResty,通常情况下你没有必要再自己安装 OpenResty。
但如果你想要使用自己编译的 Nginx( OpenResty ),也是可以的。具体方法请阅读Wiki中的这篇说明:Use own nginx
VeryNginx 的配置文件位置为 /opt/verynginx/openresty/nginx/conf/nginx.conf,这是一个简单的示例文件,可以让你访问到 VeryNginx的控制面板。如果你想真正的用 VeryNginx 来做点什么,那你需要编辑这个文件,并将自己的 Nginx 配置加入到其中。
这个配置文件在普通的 Nginx 配置文件基础上添加了三条 Include 指令来实现功能,分别为
以上三条指令分别放在 http 配置块外部,http 配置块内部,server 配置块内部,在修改时请保留这三条。如果添加了新的 Server 配置块或 http 配置块,也需要在新的块内部加入对应的 include 行。
完成安装工作以后,可以通过以下命令来运行 VeryNginx
1 2 3 4 5 6 7 8 9 |
<span class="hljs-comment">#启动服务</span> <span class="hljs-regexp">/opt/</span>verynginx<span class="hljs-regexp">/openresty/</span>nginx<span class="hljs-regexp">/sbin/</span>nginx <span class="hljs-comment">#停止服务</span> <span class="hljs-regexp">/opt/</span>verynginx<span class="hljs-regexp">/openresty/</span>nginx<span class="hljs-regexp">/sbin/</span>nginx -s stop <span class="hljs-comment">#重启服务</span> <span class="hljs-regexp">/opt/</span>verynginx<span class="hljs-regexp">/openresty/</span>nginx<span class="hljs-regexp">/sbin/</span>nginx -s reload |
VeryNginx 启动后,可以通过浏览器访问管理面板来查看状态以及进行配置。
管理面板地址为 http://{{your_machine_address}}/verynginx/index.html
。
默认用户名和密码是 verynginx
/ verynginx
。
登录之后就可以查看状态,并对配置进行修改了。修改配置后,点击保存才会生效.
from:https://www.cnblogs.com/leo001/articles/10847587.html