对人类友好并且强大的 VeryNginx

2016-02-03 22:36:46 +08:00
 AlexaZhou

之前工作中经常在 Nginx 里面配置各种规则,感觉 Nginx 功能强大但并不是很易用。

于是就觉得可以写一个强大而且对人类友好的 Nginx

前前后后写了一个多月,总算是在过年之前完成了

逻辑通过 lua 实现,嵌入到 Nginx 中,自带前端界面

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

VeryNginx = Very powerful and friendly nginx

功能上主要是实现了高级的防火墙,访问统计,和其他的一些功能,也就是对 Nginx 本身功能的一些强化。

并且:提供了更友好的 web 交互界面(这是重点)

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

主要功能如下:

Nginx 运行状态分析

请求过滤

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

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

访问统计

VeryNginx 可以统计网站每个 URI 的访问情况,包括每个 URI 的:

附一张 VeryNginx 的界面图

欢迎大家试用~

27004 次点击
所在节点    分享创造
120 条回复
Zohar
2016-02-03 22:38:43 +08:00
link?
AlexaZhou
2016-02-03 22:40:57 +08:00
@Zohar 😓,已经添加啦
la0wei
2016-02-03 22:41:35 +08:00
plqws
2016-02-03 22:42:37 +08:00
一直都想做个类似的程序,苦于对 Nginx 不太熟悉,兹瓷一下!
Zohar
2016-02-03 22:43:20 +08:00
@la0wei 貌似是刚刚添加的:)
AlexaZhou
2016-02-03 22:48:13 +08:00
@Zohar
@la0wei
传送门确实是刚刚在 Zohar 的提醒下添加的~

ps: 我发现我在做其他事情的时候,显然没有写代码时那样的严谨
tSQghkfhTtQt9mtd
2016-02-03 22:56:46 +08:00
如果能有办法支持在现有 Nginx 上附加就好了, 233 ,不想重新装一次,但是看界面好棒的样子"o((>ω< ))o"
AlexaZhou
2016-02-03 23:08:39 +08:00
@liwanglin12
如果之前安装的 Nginx 版本带有 lua_nginx_module ,和 http_sub_status_module 的话,把 readme 里面的那段配置加入进自己原来的 nginx 配置就好啦

后面我提供安装脚本吧,让安装更简单一些
popu111
2016-02-03 23:15:51 +08:00
已 star
crytis
2016-02-03 23:20:04 +08:00
不错 已 star
toono
2016-02-03 23:20:34 +08:00
厉害,去加 star
mengskysama
2016-02-03 23:25:27 +08:00
star 一个,适合开发或者自己用用,统计以及日志在还是要并入运维系统。
AlexaZhou
2016-02-03 23:26:00 +08:00
@popu111 @crytis @toono
Thanks ~
已发送我的感谢🙏
lhbc
2016-02-03 23:26:21 +08:00
好强大,再扩展下能做不少事情了
顺便请教楼主,已经使用了 init_by_lua_file, access_by_lua_file, access_by_lua_file, log_by_lua_file 这 4 个 nginx 配置,如何使用 VeryNginx ?
AlexaZhou
2016-02-03 23:35:00 +08:00
@mengskysama
对的,详细的统计和日志分析啥得,肯定还得靠专门的运维系统

实际上为了速度, VeryNginx 里实现的当前状态分析和统计,是很轻量级的,用途主要是用来分析 Nginx ( web 服务)当前的状态,如果有问题,可以很方便找到问题,

主要的功能还是在于自定义操作,目前支持了按照规则过滤和重定向,后面会加入更多有用的自定义行为
Strikeactor
2016-02-03 23:35:30 +08:00
赞一个
DIYgod
2016-02-03 23:36:00 +08:00
界面好看,赞,已 star
AlexaZhou
2016-02-03 23:43:45 +08:00
@lhbc 在 VeryNginx 的文件夹里面,有几个文件,名字是这样,

on_init.lua
on_access.lua
on_rewrite.lua
on_log.lua

里面写了 VeryNginx 在这几个阶段执行的动作

你可以复制 VeryNginx 文件夹到自己的 Nginx 目录里面,然后在自己的“ init_by_lua_file ”等文件里面调用 verynginx 的 on_init.lua 应该就可以了

不过需要小心处理好路径的问题
lightforce
2016-02-03 23:44:26 +08:00
流量大的站这日志分析是不是耗 cpu ?
hljjhb
2016-02-03 23:47:17 +08:00
Wonderful

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/255284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX