当前位置:首页 > 技术文章 > 正文内容

强大友好的Nginx扩展:VeryNginx(nginxgui)

arlanguage3个月前 (01-31)技术文章41

VeryNginx: 简化Web管理,增强网站防御- 精选真开源,释放新价值。

概览

VeryNginx是一个基于lua-nginx-module(openresty)的高效、友好的Nginx版本,专为满足现代Web应用的需求而设计。它不仅提供了强大的Web应用防火墙(WAF)功能,还集成了控制面板和仪表板,让网站管理员能够轻松管理他们的服务器。

主要功能

你可以在线体验:https://alexazhou.xyz/vn/index.html

账号/密码:verynginx / verynginx

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的总请求次数、各状态码次数、返回总字节数、每请求平均字节数、总响应时间、平均响应时间并且可以按各种规则排序进行分析。

通过web面板对 VeryNginx 进行配置

VeryNginx 启动后,可以通过浏览器访问管理面板来查看状态以及进行配置。

管理面板地址为 http://{{your_machine_address}}/verynginx/index.html。

默认用户名和密码是 verynginx / verynginx。

登录之后就可以查看状态,并对配置进行修改了。修改配置后,点击保存才会生效。

信息

截至发稿概况如下:

  • 软件地址:https://github.com/alexazhou/VeryNginx
  • 软件协议:LGPL 3.0
  • 编程语言

语言

占比

Lua

48.1%

JavaScript

33.6%

Python

14.0%

CSS

4.1%

Dockerfile

0.2%

  • 收藏数量:5.9K

VeryNginx作为Nginx的一个扩展,通过提供Web应用防火墙和安全检查功能,为网站管理员提供了一个更为安全和易于管理的Web服务器选项。它简化了Web服务器的管理流程,同时增强了网站的防御能力。随着Web应用的复杂性增加,如何确保VeryNginx能够适应不断变化的安全威胁?

各位在使用 VeryNginx 的过程中是否发现了什么问题?或者对 VeryNginx 的功能有什么提议?热烈欢迎各位在评论区分享交流心得与见解!!!

声明:本文为辣码甄源原创,转载请标注"辣码甄源原创首发"并附带原文链接。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1354.html

分享给朋友:

“强大友好的Nginx扩展:VeryNginx(nginxgui)” 的相关文章

如何实现在线视频播放?

视频点播1. 视频点播需求分析1.1 需求描述视频点播需求如下:1、学生可以在windows浏览器上在线观看视频。2、播放器具有快进、快退、暂停等基本功能。1.2 视频点播解决方案1.2.1 流媒体流媒体详细参考:https://baike.baidu.com/item/%E6%B5%81%E5%A...

隐藏Nginx服务的Banner 和 隐藏Nginx后端服务指定的header的状态

一、隐藏Nginx服务的Banner当Nginx服务器响应请求时,不隐藏它的版本信息和名称。这会暴露服务器的信息,使攻击者可以获取服务器软件版本和配置的信息,帮助攻击者发现潜在的漏洞或攻击路径。以下是一些潜在的危害:1. 暴露服务器信息:不隐藏 banner 可以让攻击者知道服务器正在使用 Ngin...

Nginx集群搭建 nginx keepalived集群

Nginx负载均衡环境:四台虚拟机、系统Centos7.9、NginxHostnameIp说明lb192.168.133.142Nginx主负载均衡器rs1192.168.133.130Web服务器1rs2192.168.133.137Web服务器2Client192.168.133.139客户端—...

Docker搭建开发环境(Nginx+MySQL+PHP)

注意事项1、像MySQL配置文件、Nginx配置文件、网站根目录这种比较经常操作的需要先使用 docker cp 将文件从容器里复制到主机目录,docker run的时候直接挂载目录就可以了2、docker run MySQL和Nginx的时候注意使用 --link实现容器之间通信3、运行容器的时候...

使用Keepalived实现Nginx的自动重启及双主热备高可用

推荐阅读:20年清华架构师耗时整整一百天打造1000+道Java高频面试手册1、概述之前我们使用Keepalived实现了Nginx服务的双机主备高可用,但是有几个问题没有解决,今天一起探讨一下。1)在双机主备机制中,Keepalived服务如果宕了,会自动启用备机进行服务,但Nginx服务如果负载...

nginx代理常用配置

1. 最简反向代理配置在http节点下,使用upstream配置服务地址,使用server的location配置代理映射。upstream my_server { server 10.0.0.2:8080; keepalive 2000;}server { listen 80; server_...