Я пытаюсь проксировать запрос для разных целей в зависимости от переменной среды. Мой подход заключался в том, чтобы указать целевой URL в пользовательскую переменную $target и передать это proxy_pass.
Но использование переменной с proxy_pass не работает. Эта простая конфигурация приводит к ответу "502 Bad Gateway" от nginx.
server {
listen 8080;
server_name myhost.example.com;
access_log /var/log/nginx/myhost.access.log;
location /proxy {
set $target http://proxytarget.example.com;
proxy_pass $target;
}
}
Аналогичная конфигурация без переменной работает:
server {
listen 8080;
server_name myhost.example.com;
access_log /var/log/nginx/myhost.access.log;
location /proxy {
proxy_pass http://proxytarget.example.com;
}
}
Действительно ли невозможно использовать proxy_pass таким образом, или я просто делаю что-то неправильно?