Nginx nginx_substitutions_filter变量

时间:2013-11-26 16:56:31

标签: nginx substitution

有没有办法使用变量作为源字符串进行响应(正文)重写? 我尝试使用nginx_substitutions_filter,但它不起作用。

set $a mysourcestr;
subs_filter $a mydeststr;

1 个答案:

答案 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