Я пытаюсь запустить rproxy, который должен сделать запрос до того, как клиент подключится к бэкэнд-серверу.
Это мой вариант по умолчанию:
server {
listen 80;
location /proxy {
# set $api_result "";
access_by_lua_file /etc/nginx/conf.d/header.lua;
# this service just prints out your request headers
proxy_pass http://127.0.0.1:8080;
}
location / {
# set $api_result "";
# access_by_lua_file /etc/nginx/conf.d/header.lua;
# this service just prints out your request headers
proxy_pass http://127.0.0.1:3000;
}
}
Код Луа:
local res = ngx.location.capture('/number/', { method = ngx.HTTP_GET, args = {} });
ngx.log(ngx.ERR, res.status);
if res.body == 1 then
PROXY PASS?
else
ngx.exit(403);
end
Когда я подключаюсь к http://127.0.0.1:3000/number/, выводится 0 или 1 или 2 На основании этих цифр я хочу выдать еще один proxy_pass: для nginx. Как мне это сделать?