2017-11-28 3 views
0

Im Suche nach einem Weg, Folgendes zu tun:Zwei lokaler Knoten-Server und Proxy-Verkehr auf bestimmten Pfad basierend

Gegeben zwei Server lokal auf verschiedene Ports ausgeführt wird:

  • localhost:3001
  • localhost:3002

Ich möchte einen dritten Server laufen auf Port 3000, um den gesamten Verkehr zu localhost:3001 ex cept für bestimmte Pfade auf der Whitelist. Ich möchte eine Konfigurationsdatei, um die Pfade anzugeben. Beispielsweise.

* localhost:3001 
/example localhost:3002 

In diesem Fall werden alle Zugriffe auf 3001 ist Proxying, mit Ausnahme der Strecke /example denen Proxy localhost:3002/example.

Ich möchte keine Umleitung von 3000 für alle Anfragen. Ich möchte, dass dieser Zwischenserver der einzigen Website angezeigt wird. Ich glaube also, dass der Server, der auf Port 3000 ausgeführt wird, ein Proxy für die anderen beiden sein soll.

Ich bin interessiert, dies über nginx oder ein node.js/npm Modul zu tun, wenn verfügbar. Ist das möglich? Was ist eine einfache Art, es zu tun?

Antwort

0

Nginx sollte perfekt für diesen Job passen.
Normalerweise wird es als Web-Tier für Anwendungsserver auf anderen Computern verwendet, aber technisch unterscheidet sich nichts von der Verwendung desselben Hosts mit anderen Ports.

Sie sollten einfach localhost:3002 und localhost:3001 als Proxy-Pfade in Ihrer Nginx-Konfiguration definieren.

Wenn Sie mit nginx nicht vertraut sind, kann dies ein guter Anfang sein: https://www.nginx.com/resources/wiki/start/

Verwandte Themen