Problem mit NGINX proxy_pass

Problem mit NGINX proxy_pass

Haftungsausschluss:

Ich habe eine ähnliche Frage zu Stack Overflow gestellt, bevor mir klar wurde, dass Stack Overflow für Codefragen gedacht ist ...

Mein Problem:

Ich versuche, über einen SSH-Tunnel auf einen Webdienst zuzugreifen, der mit meinem Nginx-Server verbunden ist. Das funktioniert einwandfrei, wenn ich den Server per SSH verbinde und den Tunnelport curle. Mein nächster Schritt wäre, einen Proxy_Pass auf meiner Nginx-Konfiguration auszuführen, damit wir über den Port auf diesen Dienst zugreifen können. Ich dachte, ich hätte es mit der folgenden Konfiguration geschafft:

location ~ ^/test/([0-9]+)/ {
    #allow our.ip/32;
    proxy_pass http://127.0.0.1:$1/;
}

Wenn der Index geladen wird, versucht er, auf eine Seite namens login.php umzuleiten (die existiert und die ich mit curl localhost:port/login.php erreichen kann). Nach einiger Recherche kam ich auf die Lösung, die Schrägstriche sowohl aus dem Standort als auch aus dem Proxy-Passwort zu entfernen, sodass es so aussieht:

location ~ ^/test/([0-9]+) {
    #allow our.ip/32;
    proxy_pass http://127.0.0.1:$1;
}

Das ist so ziemlich das, was Sie in den meisten Beispielen finden, ABER ES FUNKTIONIERT NICHT. Es ist einfach 502 und ich kann nicht herausfinden, warum.

BEARBEITEN

Dies ist das Nginx-Fehlerprotokoll der Anfrage:

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"

Es sollte "/test/" nicht an den Remote-Host weitergeben …

verwandte Informationen