繁体   English   中英

如何在代理传递中访问 Lua 块内设置的变量值

[英]How to access a variable value set inside Lua block in proxy pass

我是 nginx 的新手。我有一个变量集 $myuser 并在 rewrite_by_lua 中更新值 ngx.var.myuser。 我想在 proxy_pass 中将其作为 header 传递。 我正在使用 proxy_add_header 添加 $myuser 但我没有得到更新的值。

代码块:

location /
{

 set $myuser '';

    rewrite_by_lua_block
    {
        local user=//code to get the updated value
       //perform some redirection logic on error
        ngx.var.myuser= user
       
       
    }
  
proxy_pass  "https://backend.com"
proxy_set_header  myheader  $myuser


}

$myuser 的值是空的,但它在 lua 块中得到了很好的检索。

下面的代码有效。 无需设置变量并在 proxy_set_header 中使用它。 我们可以在 lua 块中设置 header

rewrite_by_lua_block
    {
        local user=//code to get the updated value
       //perform some redirection logic on error
       
         ngx.req.set_header("myheader", user)
       
       
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM