以前工做中常常在 Nginx 裏面配置各類規則,感受 Nginx 功能強大但並非很易用。因而就以爲能夠寫一個強大並且對人類友好的 Nginx,前先後後寫了一個多月,總算是在過年以前完成了,邏輯經過 lua 實現,嵌入到 Nginx 中,自帶前端界面。html
傳送門:https://github.com/alexazhou/...前端
VeryNginx基於lua_nginx_module(openrestry)。它實現了高級防火牆(waf),訪問統計信息和其餘一些功能。它加強了Nginx的功能,並提供了友好的Web界面。python
在 web 界面裏面修改配置後,保存後即刻生效,並不須要重啓 Nginx 或者 reload 。nginx
經過配置過濾規則,能夠阻止 SQL 注入, Git , SVN 文件泄露,攔截掃描工具等git
VeryNginx能夠記錄URI的請求,包括每一個URI的這些數據:github
附 VeryNginx 的界面圖 web
VeryNginx基於OpenResty,所以您須要首先安裝它。可是請不要擔憂,VeryNginx提供了一個腳原本自動執行此操做。json
python install.py install
只需運行此命令,openresty和verynginx將自動安裝。VeryNginx能夠自動安裝openresty,所以您無需手動安裝nginx(openresty)。服務器
VeryNginx的配置文件是/opt/verynginx/openresty/nginx/conf/nginx.conf,這是一個演示。它只是可讓verynginx運行,所以您能夠看到verynginx的儀表板。若是您想進一步配置它,則須要編輯該文件並向其中添加本身的nginx配置。此配置文件添加了三個include命令,以將verynginx嵌入到原始nginx(openresty)中網絡
這些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。您應該如今就能夠完成全部選項。
更新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功能軟件。
各位讀者老鐵們,點個贊、轉發分享支持一波吧!!