一个非常强大和友好的nginx基于lua-nginx-module(openresty),提供WAF,控制面板和仪表板
VeryNginx是一个非常强大和友好的nginx。
中文文档
在v0.2之后,控制面板的输入uri被移动到 /verynginx/index.html
VeryNginx基于lua_nginx_module(openrestry)。它实现了高级防火墙(waf),访问统计和一些其他功能。它增强了Nginx的功能,并提供友好的Web界面。
VeryNginx在线演示
用户/密码:verynginx / verynginx
可以在以下位置找到完整版的配置指南:VeryNginx Wiki。
VeryNginx支持自定义操作,可以执行很多操作。
自定义操作由两部分组成,Matcher和Action。Matcher用于测试请求是否符合规则,Action是您要运行的逻辑。
这种设计的优点是Matcher包含所有选择规则,并且可以重复使用,利用规则来描述可能非常复杂的逻辑。
A Matcher用于选择所有请求的一部分,a Matcher可以包含一个或多个条件。目前支持以下条件:
当请求不与匹配器的任何条件冲突时,请求将由 Matcher
每个Action引用一个Matcher,并将运行在由...选择的请求Matcher
现在,我们有了这些Action小号
Matcher可以通过多种条件选择请求,因此使用Filter Action,我们得到了一个强大的waf。waf可以过滤具有复杂规则的请求,并在阻止请求时返回特殊状态代码。
VeryNginx预设了一些简单的过滤规则,可以防止简单的SQL注入,Git和SVN文件泄露,目录遍历攻击和常见的扫描工具。
每个Backend引用一个Matcher,并将处理由所选择的请求Matcher
现在我们有这些 Backend
VeryNginx可以记录URI的请求,包括每个URI的这些数据:
安装Nginx / OpenResty
VeryNginx基于OpenResty,因此您需要先安装它。但是不要担心,VeryNginx提供了一个自动执行的脚本。
python install.py install
只需运行此命令,openresty和verynginx将自动安装。
想使用自定义nginx吗?
VeryNginx可以自动安装openresty,因此您无需手动安装nginx(openresty)。
但是如果你想使用你自己编译的nginx,那也没关系。你可以看到一些帮助
使用 - 拥有 - nginx的
编辑nginx配置文件
VeryNginx的配置文件是/opt/verynginx/openresty/nginx/conf/nginx.conf,这是一个演示。它可以让verynginx运行,以便您可以看到verynginx的仪表板。如果你想做一些非常有用的事情,你需要编辑该文件并在其中添加自己的nginx配置。
这个配置文件添加了三个include命令来将verynginx嵌入到原始的nginx中(openresty)
这些include命令被放在一个块外,阻止http内部配置,服务器配置块里面,Remenber在修改时保留这三行。如果添加新的服务器配置块或http配置块,还需要在其中添加适当的include行。
#Start Service /opt/verynginx/openresty/nginx/sbin/nginx#Stop Service/opt/verynginx/openresty/nginx/sbin/nginx -s stop#Restart Service/opt/verynginx/openresty/nginx/sbin/nginx -s reload
服务开始运行后,您可以查看服务器状态并在仪表板上执行配置。
仪表板的地址是http://{ {your_machine_address}}/verynginx/index.html。
默认用户和密码是verynginx/ verynginx。您现在应该能够完成所有选项。
完整版的配置指南可以在VeryNginx Wiki中找到。
故障排除
如果在安装 / 配置 / 使用过程中遇到任何问题,可以参考故障排除文档。
故障排除
随着时间的推移,VeryNginx自己会发展,也可以支持更新版本的OpenResty。新版本的VeryNginx可能支持一些新功能或修复一些旧的错误。如果要更新本地安装的VeryNginx,只需将最新的代码从github提取到本地,然后运行以下命令:
#Update VeryNginx python install.py update verynginx#Update OpenRestypython install.py update openresty
install.py将在更新期间保留旧的config.json和nginx.conf。这样您在更新后就不会丢失配置。
构建VeryNginx docker Image
将代码克隆到本地文件系统后,可以运行以下命令:
docker build -t verynginx . docker run verynginx
然后,您可以导航到您的浏览器 http://{ {your_docker_machine_address}}/verynginx/index.html
您可以选择运行docker run -p xxxx:80 verynginx以将容器端口80映射到主机的xxxx端口