Github标星5.2k+!开源、强大的WAF(web防火墙)VeryNginx!

以前工做中常常在 Nginx 里面配置各类规则,感受 Nginx 功能强大但并非很易用。因而就以为能够写一个强大并且对人类友好的 Nginx,前先后后写了一个多月,总算是在过年以前完成了,逻辑经过 lua 实现,嵌入到 Nginx 中,自带前端界面。html

传送门:https://github.com/alexazhou/...前端

VeryNginx = Very powerful and friendly nginx

VeryNginx描述

VeryNginx基于lua_nginx_module(openrestry)。它实现了高级防火墙(waf),访问统计信息和其余一些功能。它加强了Nginx的功能,并提供了友好的Web界面。python

在 web 界面里面修改配置后,保存后即刻生效,并不须要重启 Nginx 或者 reload 。nginx


主要功能以下

Nginx 运行状态分析

  • 每秒请求数
  • 响应时间
  • 网络流量
  • 网络链接数

请求过滤

VeryNginx 能够基于按照如下信息对请求进行过滤:

  • IP
  • UserAgent
  • 请求路径(URI)
  • 请求参数

经过配置过滤规则,能够阻止 SQL 注入, Git , SVN 文件泄露,拦截扫描工具等git

统计功能

VeryNginx能够记录URI的请求,包括每一个URI的这些数据:github

  • 全部请求计数
  • 每一个状态码的请求计数
  • 总字节数
  • 平均字节
  • 总响应时间
  • 平均响应时间

附 VeryNginx 的界面图 web

安装Nginx OpenResty

VeryNginx基于OpenResty,所以您须要首先安装它。可是请不要担忧,VeryNginx提供了一个脚原本自动执行此操做。json

python install.py install

只需运行此命令,openresty和verynginx将自动安装。VeryNginx能够自动安装openresty,所以您无需手动安装nginx(openresty)。服务器

编辑nginx配置文件

VeryNginx的配置文件是/opt/verynginx/openresty/nginx/conf/nginx.conf,这是一个演示。它只是可让verynginx运行,所以您能够看到verynginx的仪表板。若是您想进一步配置它,则须要编辑该文件并向其中添加本身的nginx配置。此配置文件添加了三个include命令,以将verynginx嵌入到原始nginx(openresty)中网络

  • 包括/opt/verynginx/verynginx/nginx_conf/in_external.conf;
  • 包括/opt/verynginx/verynginx/nginx_conf/in_http_block.conf;
  • 包括/opt/verynginx/verynginx/nginx_conf/in_server_block.conf;

这些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

WEB界面配置VeryNginx

服务开始运行后,您能够在控制台上查看服务器状态并进行配置。

WEB的地址为http://{{your_machine_address}}/verynginx/index.html。

默认用户和密码为verynginx/ verynginx。您应该如今就能够完成全部选项。

提示

  • 保存后,新配置将当即生效。无需从新启动或从新加载nginx。
  • 保存配置时,VeryNginx会将全部配置写入/opt/verynginx/verynginx/configs/config.json。

更新VeryNginx

新版本的VeryNginx可能支持某些新功能或修复了一些旧错误。若是要更新本地安装的VeryNginx,只须要将最新代码从github拉到本地,而后运行如下命令:

#Update VeryNginx
python install.py update verynginx

#Update OpenResty
python install.py update openresty

install.py将在更新期间保留旧的config.json和nginx.conf。这样您就不会在更新后丢失配置。

VeryNginx安装配置都很是的简单,并且还得供友好的WEB界面,配置也比较方便,是一款实用的、强大的WAF功能软件。

各位读者老铁们,点个赞、转发分享支持一波吧!!

相关文章
相关标签/搜索