diff --git a/rootfs/etc/nginx/template/nginx.tmpl b/rootfs/etc/nginx/template/nginx.tmpl index f64463b5b5..38aee0f3d3 100644 --- a/rootfs/etc/nginx/template/nginx.tmpl +++ b/rootfs/etc/nginx/template/nginx.tmpl @@ -990,8 +990,12 @@ stream { plugins.run() } + {{ if shouldConfigureLuaRestyWAF $all.Cfg.DisableLuaRestyWAF $location.LuaRestyWAF.Mode }} + # be careful with `access_by_lua_block` and `satisfy any` directives as satisfy any + # will always succeed when there's `access_by_lua_block` that does not have any lua code doing `ngx.exit(ngx.DECLINED)` + # that means currently `satisfy any` and lua-resty-waf together will potentiall render any + # other authentication method such as basic auth or external auth useless - all requests will be allowed. access_by_lua_block { - {{ if shouldConfigureLuaRestyWAF $all.Cfg.DisableLuaRestyWAF $location.LuaRestyWAF.Mode }} local lua_resty_waf = require("resty.waf") local waf = lua_resty_waf:new() @@ -1032,10 +1036,8 @@ stream { {{ end }} waf:exec() - {{ end }} - - plugins.run() } + {{ end }} header_filter_by_lua_block { {{ if shouldConfigureLuaRestyWAF $all.Cfg.DisableLuaRestyWAF $location.LuaRestyWAF.Mode }}