【发布时间】:2021-08-04 04:06:36
【问题描述】:
简化的 NGINX 示例配置 sn-p:
http {
set $foo default;
access_by_lua_block {
ngx.var.foo = "bar"
}
server {
listen 8080 default_server;
server_name localhost;
location / {
set $proxy one;
if ($foo = "bar") {
set $proxy two;
}
proxy_pass http://$proxy;
}
}
}
我看到的问题是$foo 似乎没有在位置块中设置。如果我在 http 下添加一个记录 $foo 的访问日志,则该值将是 bar。如果我将访问日志放在位置块中,那么它就是default。
如何根据access_by_lua_block 中设置的ngx.var 的值动态切换上游?
【问题讨论】:
标签: nginx lua nginx-reverse-proxy openresty