NGINX использует $ server_port в апстриме

Я хочу, чтобы proxy_pass в апстрим, который имеет один хост, но несколько портов. Вот что у меня сейчас есть:

upstream myUps {
  zone myUps 32k;
  server myUps.hostname.com:$server_port;
}

Когда я пробую эту конфигурацию и перезагружаю nginx, я получаю следующее:

"неверный порт в восходящем направлении"

Основная идея проста, я просто хочу сохранить порт, который передается на сервер (server_port), и использовать его при переходе к восходящему потоку. Я могу жестко кодировать номера портов в восходящем потоке, как это:

...
server myUps.hostname.com:1234;
...

И это будет работать каждый раз для этого конкретного порта. Но мне нужно иметь возможность использовать несколько портов.

РЕДАКТИРОВАТЬ - Вот как выглядит мой proxy_pass:

proxy_pass http://myUps;
-or-
proxy_pass http://myUps:$server_port;

Я не знаю, прав ли второй, я просто играю с ним, чтобы посмотреть, возможно ли передать номер порта из локации в апстрим.

Другие вещи, которые я пробовал, не работали:

Установка параметра в карте, действующей как глобальная переменная. Указание порта в разделе «местоположение» сервера. Установите хэш (работает только для IP, поэтому здесь не очень помогает).

Ответы на вопрос(0)

Ваш ответ на вопрос