有没有办法使用变量作为源字符串进行响应(正文)重写? 我尝试使用nginx_substitutions_filter,但它不起作用。
set $a mysourcestr;
subs_filter $a mydeststr;
答案 0 :(得分:2)
我找到了使用lua而不是subs_filters的解决方案。在nginx配置文件中,我添加了以下指令
set $a mysourcestr;
set $b mydeststr;
body_filter_by_lua_file /path/lua/scripts/subs.lua;
然后我写了一个非常简单的lua脚本
#!/usr/bin/lua
-- /path/lua/scripts/subs.lua
response_body = ngx.arg[1]
response_body = response_body:gsub(ngx.var.mysourcestr,ngx.var.mydeststr)
ngx.arg[1]=response_body