VeryNginx 是一個基于openrestry(其實是基于nginx的lua擴展)的開發程序,實現了高級的防火墻,可以做訪問統計和其他的一些防護功能。 VeryNginx 擴展了 Nginx 本身的功能,并提供了友好的 Web 交互界面。
VeryNginx安裝需要支持lua模塊支持,具體包括:lua-nginx-module,http_stub_status_module,http_ssl_module這3個模塊。如果想在nginx中使用VeryNginx ,就需要安裝以上模塊,不過寶塔面板已經默認編譯了這3個模塊,寶塔面板一般都安裝 lua模塊,也支持安裝openrestry。所以我們只需要安裝VeryNginx單個軟件即可。
測試環境:
寶塔面板7.0.3(其他版本大同小異)、nginx1.17.5、統:centos linux 7.7.1908 (Core)
VeryNginx相關頁面
github:https://github.com/alexazhou/VeryNginx
中文使用文檔:https://github.com/alexazhou/VeryNginx/blob/master/readme_zh.md
安裝方法
git克隆下載,并且進行安裝:
git clone https://github.com/alexazhou/VeryNginx.gitcd VeryNginx Python install.py install verynginx
出現下面 successfuly,就代表OK了

配置VeryNginx
我們需要設置 Nginx 配置文件,添加三條 Include 指令來實現功能,分別為:
include /opt/verynginx/verynginx/nginx_conf/in_external.conf; #http 配置塊外部include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf; #http 配置塊內部include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf; #server 配置塊內部
1、前兩條命令:
設置Nginx配置文件 寶塔面板→ Nginx →設置 → 配置修改,將以下2條代碼放到正確的位置,如下圖。注意,前兩條防止的位置

配置VeryNginx
2、第三條命令:
寶塔面板→ 網站→當前網站→設置 → 配置文件,將以下代碼放到 root /www/wwwroot/ 下面即可。具體如圖:

3、重啟nginx,或者重新加載下配置都行。寶塔面板→nginx→服務→重載/重啟Nginx:
VeryNginx 進行配置
VeryNginx 啟動后,可以通過瀏覽器訪問管理面板來查看狀態以及進行配置。
管理面板地址為 http://{{your_machine_address}}/verynginx/index.html。
默認用戶名和密碼是 verynginx / verynginx。
登錄之后就可以查看狀態,并對配置進行修改了。修改配置后,點擊保存才會生效.
設置cc防御(舉例):在自定義動作→攔截頻率中可以設置。如圖:

然后,我們重新打開下我們的網站,進行測試cc攻擊了,是不是被攔截返回了。
VeryNginx總結
VeryNginx是一個高級nginx擴展程序,他的強大之處在于VeryNginx 包含強大的自定義功能,可以做很多事情,比如waf防火墻功能。
他的 自定義行為包含兩部分, Matcher 和 Action 。 Matcher 用來對請求進行匹配, Action 為要執行的動作 這樣的優勢在于把所有的前置判斷整合在Matcher里一起來實現了,使復雜(組合)規則的實現變成了可能。更多具體,需要去摸索。
有問題,可以留言,覺得不錯記得轉發哦,當然也可以給我來個關注什么的,求個關注,哈哈。