可以设置 Nginx 的变量值,并且可以在 content_by_lua_block 外部获取到修改后的值。代码如下:

location /test {
    set $my_var 'old_value';
    content_by_lua_block {
        ngx.var.my_var = 'new_value';
    }
    echo 'my_var is: $my_var';
}

在上述示例中,我们首先设置了一个名为 my_var 的 Nginx 变量,并将其值设置为 'old_value'。然后,在 content_by_lua_block 中,我们将这个变量的值修改为 'new_value'。最后,在 content_by_lua_block 之后,我们输出这个变量的值,可以看到输出的是修改后的值 'new_value'。

需要注意的是,在 content_by_lua_block 中修改的变量值只能在当前请求中生效,对于后续的请求,变量值仍然是原来的值。如果要在多个请求中共享变量值,需要使用其他方式,比如使用共享内存、Redis 等。

Nginx Content By Lua Block 变量修改及外部获取

原文地址: https://www.cveoy.top/t/topic/nAjy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录