ngx_lua_waf是一款開源的 基於 ngx_lua的 web應用防火牆
github地址是 https://github.com/loveshell/ngx_lua_waf
安裝流程如下
1 安裝 lua 環境
wget http://luajit.org/download/LuaJIT-2.0.3.tar.gz tar xf LuaJIT-2.0.3.tar.gz cd LuaJIT-2.0.3 make && make install ln -sv /usr/local/lib/libluajit-5.1.so.2.0.3 /lib64/libluajit-5.1.so.2
2 下載ngx_devel_kit並解壓
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz tar xf v0.2.19.tar.gz
3 下載ngx_lua並解壓
wget https://github.com/chaoslawful/lua-nginx-module/archive/v0.9.6.tar.gz tar xf v0.9.6.tar.gz
4 重新編譯安裝nginx
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-pcre=/home/soft/pcre-8.31 --add-module=/home/lua-nginx-module-0.9.6 --add-module=/home/ngx_devel_kit-0.2.19 make 添加模塊 先備份之前的 ngxin文件 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak cp ./objs/nginx /usr/local/nginx/sbin/
5 下載ngx_lua_waf並解壓
wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip unzip master.zip mv master /usr/local/nginx/ngx_lua_waf/
6 修改 nginx的配置文件 根據實際情況更改路徑
lua_need_request_body on; lua_package_path \"/usr/local/nginx/conf/ngx_lua_waf/?.lua\"; lua_shared_dict limit 10m; init_by_lua_file /usr/local/nginx/conf/ngx_lua_waf/init.lua; access_by_lua_file /usr/local/nginx/conf/ngx_lua_waf/waf.lua;
最后測試 重啟nginx