热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

「读者福利!2TB各类技术资源免费赠送」之前工作中经常在Nginx里面配置各种规则,感觉Nginx功能强大但并不是很易用。于是就觉得可以写一个强大而且对


 读者福利!2 TB 各类技术资源免费赠送 

之前工作中经常在 Nginx 里面配置各种规则,感觉 Nginx 功能强大但并不是很易用。于是就觉得可以写一个强大而且对人类友好的 Nginx,前前后后写了一个多月,总算是在过年之前完成了,逻辑通过 lua 实现,嵌入到 Nginx 中,自带前端界面。

传送门:https://github.com/alexazhou/VeryNginx

VeryNginx = Very powerful and friendly nginx

VeryNginx描述

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

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


主要功能如下


Nginx 运行状态分析

  • 每秒请求数

  • 响应时间

  • 网络流量

  • 网络连接数


请求过滤

VeryNginx 可以基于按照以下信息对请求进行过滤:

  • IP

  • UserAgent

  • 请求路径(URI)

  • 请求参数

通过配置过滤规则,可以阻止 SQL 注入, Git , SVN 文件泄露,拦截扫描工具等

统计功能

VeryNginx可以记录URI的请求,包括每个URI的这些数据:

  • 所有请求计数

  • 每个状态码的请求计数

  • 总字节数

  • 平均字节

  • 总响应时间

  • 平均响应时间

附 VeryNginx 的界面图

安装Nginx / OpenResty

VeryNginx基于OpenResty,因此您需要首先安装它。但是请不要担心,VeryNginx提供了一个脚本来自动执行此操作。

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功能软件。

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

最新整理的 2TB 技术干货:包括系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、架构师综合教程、架构师实战项目、大数据、Docker容器、ELK Stack、机器学习、BAT面试精讲视频等。在「 民工哥技术之路」微信公众号对话框回复关键字:1024 即可获取全部资料。

☆ END ☆

精彩文章推荐:


牛逼!这位程序员开发出一“舔狗”必备神器(代码已开源)!

码云Gitee遭遇疯狂DDoS攻击,官方发布解决方法并已报案

好用、免费!可监控电脑几乎一切操作

必备技能!Shell编程实战案例分享(PDF版)!

这家公司宕机事故处罚也太狠了!

Nginx 又一牛X的功能!流量拷贝

系统之眼!Linux系统性能监控工具Glances

点击【阅读原文】发现更多精彩

点个在看、转发支持一下吧



推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
author-avatar
明霞学
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有