Descargo de responsabilidad:
Abrí una pregunta similar sobre el desbordamiento de la pila antes de darme cuenta de que el desbordamiento de la pila sirve para codificar preguntas...
Mi problema:
Estoy intentando acceder a un servicio web conectado a mi servidor nginx a través de un túnel ssh. Funciona perfectamente si hago ssh al servidor y encierro el puerto del túnel. Mi siguiente paso sería hacer un proxy_pass en mi configuración de nginx para permitirnos acceder a ese servicio dado el puerto. Difícilmente lo había logrado usando la siguiente configuración:
location ~ ^/test/([0-9]+)/ {
#allow our.ip/32;
proxy_pass http://127.0.0.1:$1/;
}
Cuando se carga el índice, intenta redirigir a una página llamada login.php (que existe y puedo acceder a ella usando curl localhost:port/login.php). Después de investigar un poco, se me ocurrió la solución de eliminar las barras diagonales tanto de la ubicación como de proxy_pass, para que se vea así:
location ~ ^/test/([0-9]+) {
#allow our.ip/32;
proxy_pass http://127.0.0.1:$1;
}
Esto es más o menos lo que encuentras en la mayoría de los ejemplos, PERO NO FUNCIONA. Solo es 502 y no puedo entender por qué.
EDITAR
Este es el registro de errores de nginx de la solicitud:
2021/01/11 14:21:49 [error] 88542#88542: *19093 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: my.server.address, request: "GET /test/1480/ HTTP/2.0", upstream: "http://127.0.0.1:1480/test/1480/", host: "my.server.address"
No debería pasar el "/test/" al host remoto...