Erstellen eines Node.js Reverse Proxys

JavaScriptJavaScriptBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Projekt lernst du, wie du einen Reverse Proxy mit Node.js erstellen kannst. Ein Reverse Proxy ist ein Server, der zwischen einem Client und einem Backend-Server sitzt, Anfragen vom Client an den Backend-Server weiterleitet und die Antwort an den Client zurückgibt.

👀 Vorschau

Vorschau des Reverse Proxy-Servers

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du einen HTTP-Server mit Node.js erstellen kannst
  • Wie du die Stream pipe verwendest, um die GitHub-Antwortdaten direkt an den Client zu übergeben
  • Wie du den Reverse Proxy-Server startest und testest

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Den Begriff eines Reverse Proxys zu verstehen und wie er funktioniert
  • Einen Reverse Proxy mit Node.js zu erstellen, um Anfragen an die GitHub-Website zu proxyieren
  • Die Reverse-Proxy-Funktionalität mit der Stream pipe umzusetzen
  • Den Reverse Proxy-Server zu starten und zu testen

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/NetworkingGroup(["Networking"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/DOMManipulationGroup(["DOM Manipulation"]) javascript/AdvancedConceptsGroup -.-> javascript/async_prog("Asynchronous Programming") javascript/DOMManipulationGroup -.-> javascript/dom_manip("DOM Manipulation") javascript/NetworkingGroup -.-> javascript/http_req("HTTP Requests") subgraph Lab Skills javascript/async_prog -.-> lab-445686{{"Erstellen eines Node.js Reverse Proxys"}} javascript/dom_manip -.-> lab-445686{{"Erstellen eines Node.js Reverse Proxys"}} javascript/http_req -.-> lab-445686{{"Erstellen eines Node.js Reverse Proxys"}} end

Implementiere den Reverse Proxy

Um loszulegen, öffne den Editor. Du solltest eine Datei im Editor sehen - "proxy.js".

In diesem Schritt lernst du, wie du die Stream pipe verwendest, um die GitHub-Antwortdaten direkt an den Client zu übergeben. Folge den Schritten unten, um diesen Schritt abzuschließen:

  1. Öffne die Datei proxy.js und suche den Kommentar // TODO in der http.createServer-Funktion.
  2. Ersetze den Kommentar // TODO durch folgenden Code:
https.get(uri, function (response) {
  response.pipe(res);
});

Dieser Code verwendet die Stream pipe, um die GitHub-Antwortdaten direkt an den Client zu übergeben.

  1. Speichere die Datei proxy.js.

Starte den Reverse Proxy-Server

In diesem Schritt lernst du, wie du den Reverse Proxy-Server startest und testest.

  1. Öffne ein Terminal und navigiere zum Projektverzeichnis.
  2. Führe den folgenden Befehl aus, um den Reverse Proxy-Server zu starten:
node proxy.js

Du solltest die folgende Ausgabe sehen:

Server running at http://localhost:8080/
  1. Öffne ein weiteres Terminal und führe den folgenden Befehl aus, um den Reverse Proxy zu testen:
curl --connect-timeout 2 -m 5 localhost:8080/pricing | grep GitHub

Dieser Befehl sendet eine Anfrage an den Reverse Proxy-Server, der wiederum den Inhalt von der GitHub-Website abruft und ihn an den Client zurückgibt.

  1. Du solltest die GitHub-Preisinformationen im Terminal angezeigt sehen.
Bildbeschreibung

Herzlichen Glückwunsch! Du hast erfolgreich einen Reverse Proxy mit Node.js erstellt. Du kannst nun mit dem Reverse Proxy experimentieren, indem du den Code modifizierst und verschiedene Szenarien testest.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.