博客新站规划之(nginx+lua+ngx_lua_waf实现waf功能)

安装基础编译环境
yum install pcre-devel openssl-devel gd-devel geoip-devel gcc wget -y

下载安装所需组件

下载解压安装luajit 2.0.5(解压后直接make 然后make install)
wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz

make  
make install

下载解压ngx_devel_kit
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz


下载解压lua-nginx-module(nginx的lua模块)
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.14rc3.tar.gz

下载解压nginx
wget http://nginx.org/download/nginx-1.14.1.tar.gz

下载解压waf功能(ngx_lua_waf)
wget https://github.com/loveshell/ngx_lua_waf/archive/v0.7.2.tar.gz

编译安装nginx
进入nginx源码文件夹(编译安装nginx)

./configure \
--prefix=/web-boke/nginx \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-pcre \
--with-pcre-jit \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-debug \
--add-module=/root/ngx_devel_kit-0.3.0 \
--add-module=/root/lua-nginx-module-0.10.14rc3 \
--with-ld-opt="-Wl,-rpath,$LUAJIT_LIB" ;

make
make install

调试nginx实现waf

第一:将waf功能模块,解压后重命名为waf(并移动到nginx的配置目录下)
mv waf/ /web-boke/nginx/conf

第二:修改nginx的配置文件使其加载waf功能模块,并加载博客的nginx配置文件
vim /web-boke/nginx/conf/nginx.conf

#在http里面添加如下
	lua_package_path "/web-boke/nginx/conf/waf/?.lua";
	lua_shared_dict limit 10m;
	init_by_lua_file  /web-boke/nginx/conf/waf/init.lua; 
	access_by_lua_file /web-boke/nginx/conf/waf/waf.lua;

	include /web-boke/nginx-boke/boke-ssl.conf;

第三:修改waf模块的规则配置路径

vim /web-boke/nginx/conf/waf/config.lua

RulePath = "/web-boke/nginx/conf/waf/wafconf/"

第四:导出环境变量(重要)
 export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH  

第五:启动nginx
/web-boke/nginx/sbin/nginx -t	#测试nginx的配置文件是否正确
/web-boke/nginx/sbin/nginx -V	#查看nginx编译了那些模块
/web-boke/nginx/sbin/nginx -s reload	#当waf规则更改后,需要reload一下nginx
/web-boke/nginx/sbin/nginx	#启动nginx

调试测试waf以及waf模块具体使用见此文章
https://github.com/loveshell/ngx_lua_waf

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/334.html

最后编辑于:2018/12/3作者: 辣条①号

暂无评论

发表评论

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