If statement 由\u lua\u块重写\u后变量不工作

If statement 由\u lua\u块重写\u后变量不工作,if-statement,nginx,lua,set,If Statement,Nginx,Lua,Set,请参见以下代码: set $RUN_VERSION 'current'; rewrite_by_lua_block { .... ngx.var.RUN_VERSION = 'new' } echo $RUN_VERSION; -------------------- visit the server: new It seems work. ======================================================== set $RUN_VER

请参见以下代码:

set $RUN_VERSION 'current';
rewrite_by_lua_block {
    ....
    ngx.var.RUN_VERSION = 'new'
}
echo $RUN_VERSION;
--------------------
visit the server: new
It seems work.
========================================================

set $RUN_VERSION 'current';
rewrite_by_lua_block {
    ....
    ngx.var.RUN_VERSION = 'new'
}
echo $RUN_VERSION;

if ($RUN_VERSION = "new"){
    echo "11111";
}
if ($RUN_VERSION = "current"){
    echo "22222";
}
--------------------
visit the server: 22222
第二种情况中的问题: 1.echo$RUN_版本;什么也看不出来。
2.它应该显示11111

最简单的修复方法是在nginx配置中打开

我认为默认情况下禁用该功能是有原因的(可能是性能原因)。

它在lua nginx模块的文档中的某个地方说,
if
s总是在
rewrite\u by\u lua\u块
之前运行。不过,可以选择改变这种行为。