Упрощенный образец конфигурации NGINX:
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
, похоже, не установлен в блоке местоположения. Если я добавлю журнал доступа, который регистрирует $foo
под http, значение будет bar
. Если я помещу журнал доступа в блок местоположения, то это будет default
.
Как я могу динамически переключать восходящие потоки на основе значения набора ngx.var
в access_by_lua_block
?