Heutzutage bewerben sich die Leute in vielen Fällen um einen VPS-Host, um Webprojekte zu hosten und auszuführen. Mein Bruder und ich sind keine Ausnahme. Ich habe einen kleinen Win 03 VPS gekauft und verwende ihn. Bei der Verwendung bin ich auf ein Problem gestoßen: Die gleiche Art von Serverumgebung ist in Ordnung. Wenn jedoch drei Arten von Serverprojekten, nämlich PHP, ASP und JSP, nebeneinander existieren, stellt sich die Frage, wie man eine eindeutige Umgebung zuordnet 80 Port? Wolltuch? Da kommerzielle WWW-Websites häufig nur Port 80 belegen können, steht die Verwendung anderer Ports natürlich nicht im Konflikt mit Port 80, wenn sie nur Dienste wie Schnittstellen bereitstellen. Viele Entwickler werden mit dem Problem von Port 80 konfrontiert sein, und die tatsächliche Situation wird durch die Kosten begrenzt. Denn es ist nicht wirtschaftlich, kosteneffektiv und unpraktisch, einen VPS nur für ein Projekt zu verwalten. Daher sollten wir sorgfältig überlegen, wie wir es auf mehrere Server verteilen und gleichzeitig einen Port 80 bereitstellen, damit verschiedene Hosts ihre eigenen Webprojekte ausführen können.
Sehr geehrte Damen und Herren, glauben wir, dass diese Anforderung erfüllt werden kann? Ja, dies ist keine „magische Technologie“ und auch keine komplizierte Technologie. Ich frage mich, ob Sie wissen, dass eine der Funktionen von „Reverse Proxy“ in Netzwerkdiensten darin besteht, die Portverteilung abzuschließen. Wir könnten genauso gut den Domänennamen als Verteilungsroute verwenden: Alle Anforderungen für den Domänennamen AA.com werden zur Ausführung an PHP-Port 82 verteilt. Alle Anforderungen für den Domänennamen BB.com werden zur Ausführung an ASP-Port 83 verteilt. ... und so weiter. Die Ports dienen hier natürlich nur zur Erläuterung. Sie können sie jedoch beliebig konfigurieren, die von Port 80 empfangenen Anfragen werden jedoch einmal verarbeitet und dann verteilt. Um es für den Laien auszudrücken, bedeutet Reverse Proxy einfach, die linke Hand in die rechte Hand zu verwandeln.
Wenn Leute Reverse-Proxy erwähnen, denken sie normalerweise an Nginx, aber heute werden wir das berühmte Nginx vorübergehend ignorieren und Nodejs verwenden, den serverseitigen jüngeren Bruder, der ebenfalls einen Single-Thread und eine Ereignisschleife verwendet, um dies zu erreichen. Erstens verwendet Node JS für die serverseitige Programmierung anstelle von Nginx oder Lua, was eher meinem Geschmack entspricht. Zweitens bin ich auch mit Node vertraut, sodass es einfacher ist, verschiedene Aspekte zu konfigurieren.
Um diese Funktion zu erfüllen, ist das Paket node-http-proxy erforderlich. Zum Herunterladen und Installieren geben Sie bitte Folgendes ein:
1 |
|
Nachdem die Installation abgeschlossen ist, erstellen Sie eine neue Proxy.js-Datei und geben Sie Folgendes ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
Die Kosten für die Verwendung eines Proxyservers können darin bestehen, dass dieser mehr Ressourcen und CPU-Vorgänge verbraucht, als wenn er nicht verwendet wird.
Nutzungsproblem: Der Ordner kann nicht angegeben werden. Proxy.web(req, res, { target: 'http://jb51.net:81/foo/' });