Я хочу настроить nginx
в качестве обратного прокси-сервера https для локального приложения, переключаясь на удаленные хосты в случае, если локальное приложение не работает, например, во время развертывания.Моя проблема в том, что мне нужно, чтобы схема (http или https) зависела от того, является ли вышестоящий хост локальным или удаленным, но я не могу найти способ установить его динамически.
Рассмотрим приведенную ниже конфигурацию.
upstream backend {
server localhost:8080; # scheme should be http here
server a.example.com:443 backup; # scheme should be https here
server b.example.com:443 backup; # scheme should be https here
}
server {
listen 443;
...
...
location / {
# How can I set the proxy_pass scheme to https when upstream is a remote host?
proxy_pass http://backend;
}
}
Есть ли способ сделать схему proxy_pass
зависимой от выбранного восходящего потока?Я изучил документацию nginx
и не смог найти способа ее динамического определения.Я что-то пропустил?Нужно ли устанавливать промежуточный сервер для локального хоста, который обрабатывает https и устанавливать proxy_pass https://backend
?Это было бы слишком плохо.