Openresty添加了waf后却没生效

    今天和前端讨论了一下,考虑到前端没有啥安全性,无论我怎么加密,除了用https的正规CA证书,真的没卵用。所以就决定弄弄csrf以及waf。csrf暂时会然调试变得困难,所以就弄waf。

    waf这个开源库弄得最好的就是loveshell的,网址是:https://github.com/loveshell/ngx_lua_waf,下下来按照文档放到服务器中,并按实际情况修改了waf的config.lua文件中的路径。

    一运行,发现提示404。看了下错误日志,表示找不到waf.lua这个文件,检查了一下,路径啥的决定没问题,但是为什么还没找到呢?还好以前被坑过,是因为文件夹权限问题,执行指令“chmod 755 waf -R”就ok了。

    再运行,发现提示302。不对啊,正常应该提示403forbidden的,看了下错误日志,提示:init_by_lua_file error: /usr/local/openresty/nginx/conf/waf/init.lua:48: attempt to concatenate global 'rulepath' (a nil value)。再跟踪了一下,发现init.lua最上方是require 'config',而我自己的配置文件也是config.lua。也就是说搜索lua文件路径的时候,搜到了我那个,然后发现里面并没有Rulepath这个变量,以致出错。最后将.../waf/init.lua中的require 'config'改成require 'waf_config',把.../waf/config.lua更改为.../waf/waf_config.lua,就ok了。

你可能感兴趣的:(Openresty添加了waf后却没生效)