NGINX usando $ server_port no upstream
Eu quero proxy_pass para um upstream que tenha um host, mas várias portas. Isto é o que eu tenho atualmente:
upstream myUps {
zone myUps 32k;
server myUps.hostname.com:$server_port;
}
Quando tento essa configuração e recarrego o nginx, recebo o seguinte:
"porta inválida no upstream"
A idéia básica é simples, eu só quero manter a porta que é passada para o servidor (server_port) e usá-la quando eu passar para o upstream. Posso codificar números de porta no upstream assim:
...
server myUps.hostname.com:1234;
...
E isso funcionará sempre para essa porta específica. Mas preciso usar várias portas.
EDIT - É assim que meu proxy_pass se parece:
proxy_pass http://myUps;
-or-
proxy_pass http://myUps:$server_port;
Não sei se o segundo está certo, estou apenas brincando com ele para ver se é possível passar o número da porta do local para o upstream.
Outras coisas que tentei que não funcionaram:
Definir um parâmetro em um mapa que atua como uma variável global. Especificando a porta na seção "local" do servidor. Configure um hash (funciona apenas para IP, portanto, não ajuda aqui.).