原由: 在openresty-waf 应用里,一般做法是把配置信息保存到ngx.shared.config . 各个检查规则配置再从这里读取。
有时会遇到配置读取不正确的问题,影响问题排查进度。
所以写了一个方便查看配置小功能.
现用用lua 写了一个简单的配置页面,便于查看当前的配置:
location /show {
default_type text/html;
content_by_lua_block{
local config = ngx.shared.config
local keys = config:get_keys(512)
ngx.print('<meta http-equiv="content-type" content="text/html;charset=utf-8">')
for i,k in pairs(keys) do
local str = ((nil ~= str) and str..[[#]]..config:get(k)) or config:get(k)
ngx.say("<xmp>")
ngx.say(k.."=>"..str)
ngx.say("</xmp>")
end
ngx.say()
}
}
原理是读取ngx.shared.config的配置,注意显示用了xmp标签防止xss显示的坑。