Github標星5.2k+!開源、強大的WAF(web防火牆)VeryNginx!

以前工做中常常在 Nginx 裏面配置各類規則,感受 Nginx 功能強大但並非很易用。因而就以爲能夠寫一個強大並且對人類友好的 Nginx,前先後後寫了一個多月,總算是在過年以前完成了,邏輯經過 lua 實現,嵌入到 Nginx 中,自帶前端界面。html

傳送門:https://github.com/alexazhou/...前端

VeryNginx = Very powerful and friendly nginx

VeryNginx描述

VeryNginx基於lua_nginx_module(openrestry)。它實現了高級防火牆(waf),訪問統計信息和其餘一些功能。它加強了Nginx的功能,並提供了友好的Web界面。python

在 web 界面裏面修改配置後,保存後即刻生效,並不須要重啓 Nginx 或者 reload 。nginx


主要功能以下

Nginx 運行狀態分析

  • 每秒請求數
  • 響應時間
  • 網絡流量
  • 網絡鏈接數

請求過濾

VeryNginx 能夠基於按照如下信息對請求進行過濾:

  • IP
  • UserAgent
  • 請求路徑(URI)
  • 請求參數

經過配置過濾規則,能夠阻止 SQL 注入, Git , SVN 文件泄露,攔截掃描工具等git

統計功能

VeryNginx能夠記錄URI的請求,包括每一個URI的這些數據:github

  • 全部請求計數
  • 每一個狀態碼的請求計數
  • 總字節數
  • 平均字節
  • 總響應時間
  • 平均響應時間

附 VeryNginx 的界面圖 web

安裝Nginx OpenResty

VeryNginx基於OpenResty,所以您須要首先安裝它。可是請不要擔憂,VeryNginx提供了一個腳原本自動執行此操做。json

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

各位讀者老鐵們,點個贊、轉發分享支持一波吧!!

相關文章
相關標籤/搜索