Указать разные протоколы http/https для upstream серверов

Здравствуйте,
Подскажите, как-то можно указать протокол для upstream серверов для обратного прокси?
Необходимо в число upstream серверов включить локальный сервер, вот только доступ к нему производить по http, к остальным по https.

Перечислить его в блоке upstream я могу, а как в директиве proxy_pass разветвлиться и уйти на обработку подключения без https?
Или может быть есть какой-то способ лучше?

Понятно, что upstream сервера по идее должны быть идентичными, но как тогда правильнее реализовать перебор серверов, подключение к которым необходимо производить по разным протоколам?
Буду признателен за подсказку.

Добрый день.

Подключение по разным протоколам (http и https) подразумевает потенциально существенную разницу настроек прокcирующего location. К примеру, для прокcирования по https может понадобиться указать proxy_ssl_name.

По сути, ваша задача и сводится к тому, чтобы привести все сервера в группе upstream к идентичности. Например, тот единственный, который принимает соединения по http, можно внести в дополнительный слой проектирования в stream, который будет просто конвертировать https в http. Принцип:

stream {

	upstream backend (
		server backend_http:80;
	)

	server {
		listen 127.0.0.1:8443 ssl;
		ssl_certificate      cert.crt;
		ssl_certificate_key  cert.key;
		proxy_pass backend;
	}
}

http {

	upstream backend_https {
		server backend_https_1:443;
		server backend_https_2:443;
		server 127.0.0.1:8443;
	}

	server {

		location {
			proxy_pass https://backend_https;
		}
	}
}