Установите схему nginx proxy_pass в зависимости от того, является ли восходящий поток локальным или удаленным - PullRequest
0 голосов
/ 23 октября 2018

Я хочу настроить 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?Это было бы слишком плохо.

...