一、下載安裝文件
1. 下載程序
cd /opt
wget https://github.com/LuaJIT/LuaJIT/archive/refs/tags/v2.0.5.tar.gz -O luajit-v2.0.5.tar.gz
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.4.tar.gz -O ngx_devel_kit-0.3.4.tar.gz
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz -O lua-nginx-module-0.10.9rc7.tar.gz
wget http://nginx.org/download/nginx-1.19.3.tar.gz -O nginx-1.19.3.tar.gz
2. 逐項(xiàng)解壓
tar -xzvf luajit-v2.0.5.tar.gz
tar -xzvf ngx_devel_kit-0.3.4.tar.gz
tar -xzvf lua-nginx-module-0.10.9rc7.tar.gz
tar -xzvf nginx-1.19.3.tar.gz
二、安裝
1. 安裝lua環(huán)境
cd /opt/LuaJIT-2.0.5/
make && make install
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.0
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
2. 安裝nginx,需要包含nginx lua模塊
cd /opt/nginx-1.19.3
./configure --prefix=/usr/local/nginx \
--add-module=/opt/ngx_devel_kit-0.3.4 \
--add-module=/opt/lua-nginx-module-0.10.9rc7
make && make install
三、配置lua防火墻
1. 下載lua防火墻代碼
cd /usr/local/nginx/conf
git clone https://github.com/loveshell/ngx_lua_waf.git
2. 加載lua防火墻配置,vi /usr/local/nginx/conf/nginx.conf
,http中加入以下紅色部分配置
http {
# 其它配置
...
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;
}
3. 修改防火墻配置RulePath值,vi /usr/local/nginx/conf/ngx_lua_waf/config.lua
# 默認(rèn)值是`/usr/local/nginx/conf/waf/wafconf/` /waf 改為 /ngx_lua_waf
RulePath = "/usr/local/nginx/conf/ngx_lua_waf/wafconf/"
4. 啟動(dòng)nginx
/usr/local/nginx/sbin/nginx
四、測(cè)試
1. 測(cè)試url中的關(guān)鍵字,出現(xiàn)攔截頁(yè)面表示配置成功, 攔截參數(shù)在/usr/local/nginx/conf/ngx_lua_waf/wafconf/url
文件
2. 測(cè)試post關(guān)鍵字
閱讀原文:原文鏈接
該文章在 2025/7/1 23:49:00 編輯過(guò)