TopGit theo dõi alexazhou/VeryNginx trên GitHub, đã đạt 6.0k sao. A very powerful and friendly nginx base on lua-nginx-module( openresty ) which provide WAF, Control Panel, and Dashboards.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
After v0.2 , The entry uri of control panel was moved to /verynginx/index.html
Description
VeryNginx is based on lua_nginx_module(openrestry). It implements advanced firewall(waf), access statistics and some other features. It strengthens the Nginx's functions, and provides a friendly Web interface.
VeryNginx online demo
User / Password: verynginx / verynginx
The full version of config guide can be found on: VeryNginx Wiki .
Nginx run status analyzing
Request per second
Response time
Net Traffic
Tcp connectinn num
Custom Action
VeryNginx supports custom actions, which can do a lot of things.
Custom action consists of two parts, Matcher and Action . Matcher is used to test whether a request meets the rule, Action is the logic you want to run.
The advantage of this design is that the Matcher includes all select rule, and can be reused, making use of rules to describe a very complex logic possible.
Matcher
A Matcher is used to select a part of all requests, a Matcher may contain one or more condition. The following conditions are currently supported:
Client IP
Host
UserAgent
URI
Referer
Request Args
When a request does not conflict with any of the conditions of the Matcher, the request will be selected by the Matcher
Action
Every Action refers to a Matcher , and will run on the requests selected by the Matcher
Now we have these Actions
Scheme Lock lock the scheme to http/https
Redirect Redirect request
URI Rewrite Do internal rewrite on the request
Browser Verify Use set-cookies and javascript to verify the client is a browser,and block traffic of the robot. This action may block the spider of search engine, so please enable it when under attack only.
Frequency Limit Limit max request time in a specified time period
Filter Block some request, can do the WAF
Matcher can select requests by multiple conditions, so with Filter Action, we got a powerful waf. The waf can filter requests with complex rules and return special status code when it block a request.
VeryNginx presets some simple filter rules, which can prevent simple SQL injection, Git and SVN file disclosure, directory traversal attacks and common scanning tool.
Backend
Every Backend refers to a Matcher,and will handle the requests selected by the Matcher
Now we have these Backend
Proxy Pass Proxy the request to other server
Static File Use local file to handle the request file
Request statistics
VeryNginx can record the request of URI, include these data of every URI:
All Request Count
Request count of every status code
Total Bytes
Avg Bytes
Total response time
Avg reqponse time
Installation
Install Nginx / OpenResty
VeryNginx is based on OpenResty, so you need to install it first. But don't warry, VeryNginx gives a script to do it automatically.
python install.py install
Just run this command, openresty and verynginx will be installed automatically.
Want using custom nginx?
VeryNginx can install openresty automatically so that you needn't install nginx(openresty) manually.
But if you want use a nginx compiled by you self, that also ok. You can see that for some help
Use-own-nginx
Usage
Edit nginx configuration file
The configuration file of VeryNginx is /opt/verynginx/openresty/nginx/conf/nginx.conf, that's a demo. It just can let verynginx run so that you can see the dashboard of verynginx. If you want do something really useful, you need edit that file and add your own nginx configuration into it.
This configuration file add three include command to embeded verynginx into original nginx( openresty )
include /opt/verynginx/verynginx/nginx_conf/in_external.conf;
include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;
include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;
These include command were placed outside a block, block http internal configuration, server configuration block inside, Remenber keep these three line when modifying. If you add a new Server configuration block or http configuration block, also need add suitable include line into it.
Start / Stop / Restart Service
#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
Configure VeryNginx on dashboard
After the service begin running, you can see server status and do config on dashboard.
The address of dashboard is http://{{your_machine_address}}/verynginx/index.html.
Default user and password is verynginx / verynginx. You should be able to work through all the options now.
The full version of config guide can be found in VeryNginx Wiki .
Trouble Shooting
If you have any problems during installation / configuration / use , you can refer the Trouble Shooting document.
Trouble Shooting
Tips
New configs will be effective immediately upon saving. It's not necessary to restart or reload nginx.
When you save config, VeryNginx will write all configs to /opt/verynginx/verynginx/configs/config.json.
If the chat in status page is stuck, you can click the gear icon in the upper right corner to turn off animation
If you lock yourself out of VeryNginx by doing something stupid, you can always delete config.json to revert VeryNginx to its default.
Update VeryNginx / OpenResty
Over time, VeryNginx own will evolve, and can also support newer version of OpenResty. New version of VeryNginx might support some new features or fix some old bugs. If you want to update locally installed VeryNginx, you just need pull the latest code from github to local, and run the following commands:
alexazhou/VeryNginx có 6.0k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/alexazhou/VeryNginx. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
alexazhou/VeryNginx có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho alexazhou/VeryNginx. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
alexazhou/VeryNginx còn đang phát triển không?
Commit gần nhất trên alexazhou/VeryNginx là 6.4 năm trước (theo timestamp GitHub). Repo có 936 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
alexazhou/VeryNginx là gì?
alexazhou/VeryNginx (alexazhou/VeryNginx) là dự án Lua trên GitHub. Theo mô tả gốc: A very powerful and friendly nginx base on lua-nginx-module( openresty ) which provide WAF, Control Panel, and Dashboards.
alexazhou/VeryNginx viết bằng ngôn ngữ gì?
alexazhou/VeryNginx chủ yếu viết bằng Lua. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về VeryNginx?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về VeryNginx.