在之前的工作中经常会在Nginx中配置各种规则。感觉Nginx功能强大但不是很好用。所以我觉得我可以写一个功能强大且对人友好的Nginx。写了一个多月,终于在过年前完成了。逻辑通过lua实现,嵌入到Nginx中,有自己的前端接口。传送门:https://github.com/alexazhou/...VeryNginx=非常强大和友好的nginxVeryNginx说明VeryNginx是基于lua_nginx_module(openrestry)。它实现了高级防火墙(waf)、访问统计和一些其他功能。它增强了Nginx的功能并提供了友好的Web界面。在web界面修改配置后,保存后立即生效,无需重启Nginx或reload。主要功能如下Nginx运行状态分析每秒请求数响应时间网络流量网络连接数请求过滤VeryNginx可以根据以下信息对请求进行过滤:IPUserAgent请求路径(URI)请求参数通过配置过滤规则,可以防止SQL注入,Git、SVN文件泄露、拦截扫描工具等统计功能VeryNginx可以记录URI请求,包括每个URI的这些数据:所有请求计数、每个状态码的请求计数、总字节数、平均字节数、总响应时间、平均响应时间附VeryNginx接口图安装NginxOpenRestyVeryNginx是基于OpenResty的,所以需要先安装。不过不用担心,VeryNginx提供了一个脚本来自动执行此操作。pythoninstall.pyinstall只要运行这个命令,openresty和verynginx就会自动安装。VeryNginx可以自动安装openresty,所以你不需要手动安装nginx(openresty)。编辑nginx配置文件VeryNginx的配置文件是/opt/verynginx/openresty/nginx/conf/nginx.conf,这是一个demo。它只是让verynginx保持运行,所以你可以看到verynginx的仪表板。如果你想进一步配置它,你将需要编辑这个文件并将你自己的nginx配置添加到它。这个配置文件增加了三个include命令,将verynginx嵌入到原来的nginx(openresty)中include/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内部配置块放在块里,服务器配置块放在里面,修改时记得保留这三行。如果添加新的服务器配置块或http配置块,还需要在其中添加适当的include行。启动/停止/重启服务#启动服务/opt/verynginx/openresty/nginx/sbin/nginx#停止服务/opt/verynginx/openresty/nginx/sbin/nginx-sstop#重启服务/opt/verynginx/openresty/nginx/sbin/nginx-sreloadWEB界面配置VeryNginx服务开始运行后,可以在控制台查看服务器状态并进行配置。WEB地址为http://{{your_machine_address}}/verynginx/index.html。默认用户和密码是verynginx/verynginx。您现在应该能够完成所有选项。提示保存后,新的配置会立即生效。无需重新启动或重新加载nginx。保存配置时,VeryNginx会将所有配置写入/opt/verynginx/verynginx/configs/config.json。更新VeryNginx新版本的VeryNginx可能会支持一些新功能或修复一些旧错误。如果要更新本地安装的VeryNginx,只需要从github拉取最新的代码到本地,然后运行如下命令:#UpdateVeryNginxpythoninstall.pyupdateverynginx#UpdateOpenRestypythoninstall.pyupdateopenrestyinstall.py就会在更新.json和nginx.conf期间保留旧配置。这样您就不会在更新后丢失您的配置。VeryNginx的安装和配置非常简单,而且它还有友好的WEB界面,配置也比较方便。是一款实用且功能强大的WAF功能软件。各位读者,请点赞、转发、分享、支持一波!!
