项目地址:https://github.com/loveshell/ngx_lua_waf

1、下载安装LuaJIT 2.1(2.0或者2.1都是支持的,官方推荐2.1):http://luajit.org/download.html

cd /usr/local/src
wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz
tar zxf LuaJIT-2.1.0-beta2.tar.gz
cd LuaJIT-2.1.0-beta2
make PREFIX=/usr/local/luajit
make install PREFIX=/usr/local/luajit

2、下载ngx_devel_kit(NDK)模块 :https://github.com/simpl/ngx_devel_kit/tags,不需要安装

cd /usr/local/src
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz
tar -xzvf v0.2.19.tar.gz

3、下载最新的 lua-nginx-module 模块

cd /usr/local/src
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz
tar -xzvf v0.10.2.tar.gz
#设置环境变量
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1

4、重新编译 nginx 我这里使用的是 tengine 。

wget http://tengine.taobao.org/download/tengine-2.2.0.tar.gz
tar zxvf tengine-2.2.0.tar.gz
cd tengine-2.2.0

./configure --user=www --group=www --prefix=/www/server/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-http_realip_module  --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt='-ljemalloc' --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" --add-module=../ngx_devel_kit-0.2.19 --add-module=../lua-nginx-module-0.10.2

make && make install

5、安装好后跳转到 nginx 目录

cd /www/server/nginx/conf
yum install git -y
git clone https://github.com/loveshell/ngx_lua_waf.git
mv ngx_lua_waf waf

6、在 nginx.conf http下面加

lua_package_path "/www/server/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file  /www/server/nginx/conf/waf/init.lua; 
access_by_lua_file /www/server/nginx/conf/waf/waf.lua;

然后修改waf目录config.lua里面的路径
重启nginx即可

在宝塔环境下安装 ngx_lua_waf web 应用防火墙模块

赞(1)
展开阅读更多

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

表情
图片 链接 代码

评论(10)

  • san.s 2019年1月25日 10:48 浙江省台州市 电信

    重启nginx服务后,网址输入 "http://www.chengcs.com/index.php?id=../etc/passwd"
    提示:500 Internal Server Error 请问老铁这个是不是没有配置好

  • san.s 2019年1月25日 09:57 浙江省台州市 电信

    “修改waf目录config.lua里面的路径”老铁这个要如何修改呢?
    打开看到是:
    RulePath = "/www/server/panel/vhost/wafconf/"
    attacklog = "on"
    logdir = "/www/wwwlogs/waf/"
    ……

  • chhh 2018年12月21日 19:26 日本 东京Choopa数据中心

    不好意思,请问第四步是在哪个目录下呢?具体怎么操作呢?前面三步我按照您的来的,但是在configure执行时出错,找不到ngx_devel_kit-0.2.19 和lua-nginx-module-0.10.2,如果我更改了configure里的这两者的目录,在make and make install环节也会出现错误,能否麻烦将第四步中以nginx为例的补充一下吗?因为要要到这一部分,但是可供参考的详细教程不多,如果能够回复,十分感谢!

  • pingx 2018年10月28日 22:12 河南省商丘市 联通

    第三步骤的wget地址找不到,请博主更新,我正在配置,急用

  • 在线观看 2018年10月16日 09:25 广东省深圳市 电信

    宝塔已经安装好的Nginx环境有没有安装成功

  • 星空游戏 2017年3月25日 10:44 福建省厦门市 联通

    看帖必评论