Was ich tun möchte, ist,
Wenn jemand http://localhost/route/abc
den Server besucht, verhält es sich genauso wiehttp://localhost:9000/abc
Jetzt konfiguriere ich mein Nginx so:
location /route {
proxy_pass http://127.0.0.1:9000;
}
Die http-Anforderung wird 9000
ordnungsgemäß an den Port gesendet, der empfangene Pfad jedoch http://localhost:9000/route/abc
nicht http://localhost:9000/abc
.
Irgendein Vorschlag ?
/
Das einfache Hinzufügen ist gut dokumentiert, um das am Speicherort aufgeführte Präfix zu entfernen.Ich glaube, Sie können das Umschreiben verwenden, um den zusätzlichen Teil der URL zu entfernen. In Ihrem Fall, denke ich, könnten Sie Folgendes verwenden:
Wenn Ihre App jedoch interne Links enthält, verweisen diese möglicherweise weiterhin auf / abc / foo. Wenn Sie dies tun, müssen Sie stattdessen auf / route / abc / foo verweisen, damit die unformatierte Anforderung korrekt eingeht. Möglicherweise ist es besser, die nginx-Konfiguration so zu belassen, wie sie ist, und stattdessen die App so zu konfigurieren, dass sie sich in einem Unterverzeichnis befindet, sofern dies möglich ist.
Ich weiß, dass dies eine alte Frage ist, aber es war der Top-Google-Hit für mich, als ich versuchte, das gleiche Problem zu lösen!
quelle
Versuche Folgendes
quelle
vim nginx.conf
Dieser Code überwacht 8080 und leitet auf compute-1-36 zu Port 8787 weiter. Sie können einen anderen Pfad in Position / auswählen.
quelle