1936 Stimmen

Was ist der Unterschied zwischen einem Proxyserver und einem Reverse-Proxyserver?

Was ist der Unterschied zwischen einem Proxyserver und einem Reverse-Proxyserver?

60 Stimmen

Es ist gut erklärt in Apache-Dokumente auch.

3 Stimmen

@Paolo der es geschafft hat viel leichter zu verstehen als der Wikipedia-Artikel. Vielleicht sollte ich einige dieser Informationen in den Wikipedia-Artikel aufnehmen...

0 Stimmen

Angenommen, ich habe einen Rechner A, der eine Verbindung zu Rechner C benötigt, aber nicht direkt. Stattdessen ist er als mit Host-Eintrag oder möglicherweise dns konfiguriert, um B anzurufen, der die Anfrage an C weiterleitet. C kümmert sich nicht um B und weiß nichts davon.

3177voto

qyb2zm302 Punkte 6433

Die vorangegangenen Antworten waren richtig, aber vielleicht zu knapp. Ich werde versuchen, einige Beispiele hinzuzufügen.

Zunächst einmal bezeichnet das Wort "Vollmacht" jemanden oder etwas, das im Namen einer anderen Person handelt.

In der Computerwelt handelt es sich um einen Server, der im Namen eines anderen Computers handelt.

Aus Gründen der Zugänglichkeit werde ich mich auf Web-Proxys beschränken - die Idee eines Proxys ist jedoch nicht auf Websites beschränkt.

FORWARD-Vollmacht

Die meisten Diskussionen über Web-Proxys beziehen sich auf die Art von Proxys, die als "Forward Proxy" bekannt sind.

Das Proxy-Ereignis besteht in diesem Fall darin, dass der "Forward Proxy" im Namen des ursprünglichen Anfragenden Daten von einer anderen Website abruft.

Eine Geschichte von 3 Computern (Teil I)

Als Beispiel führe ich drei Computer auf, die mit dem Internet verbunden sind.

  • X = Ihr Computer oder "Client"-Computer im Internet
  • Y = die Proxy-Website, proxy.example.org
  • Z = die Website, die Sie besuchen möchten, www.example.net

Normalerweise würde man eine direkte Verbindung von X --> Z.

In einigen Fällen ist es jedoch besser, wenn Y --> Z im Namen von X , die sich wie folgt verketten: X --> Y --> Z .

Gründe, warum X einen Forward-Proxy-Server verwenden sollte:

Hier ist eine (sehr) unvollständige Liste der Verwendungszwecke eines Forward-Proxy-Servers:

  • 1) X ist nicht in der Lage, direkt auf Z zuzugreifen weil

    • a) Jemand mit Verwaltungsbefugnis über X hat beschlossen, den Zugang zu dieser Website zu sperren. Z .

      • Beispiele:

        • Der Storm-Worm-Virus verbreitet sich, indem er Menschen dazu verleitet, folgende Seiten zu besuchen familypostcards2008.com Daher hat der Systemadministrator den Zugang zu dieser Website gesperrt, um zu verhindern, dass sich Benutzer versehentlich infizieren.

        • Die Mitarbeiter eines großen Unternehmens haben zu viel Zeit mit folgenden Fragen vergeudet facebook.com Deshalb möchte die Geschäftsleitung den Zugang während der Geschäftszeiten sperren lassen.

        • Eine örtliche Grundschule verbietet den Internetzugang für die playboy.com Website.

        • Da eine Regierung nicht in der Lage ist, die Veröffentlichung von Nachrichten zu kontrollieren, kontrolliert sie stattdessen den Zugang zu Nachrichten, indem sie Websites wie wikipedia.org . Siehe TOR o FreeNet .

    • b) Der Verwalter von Z hat blockiert X .

      • Beispiele:

        • Der Administrator von Z hat festgestellt, dass von X aus Hackerangriffe erfolgen, und hat daher beschlossen, die IP-Adresse (und/oder den Netzbereich) von X zu sperren.

        • Z ist eine Forum-Website. X spammt das Forum zu. Z sperrt X.

REVERSE-Vollmacht

Eine Geschichte von 3 Computern (Teil II)

Für dieses Beispiel werde ich drei Computer auflisten, die mit dem Internet verbunden sind.

  • X = Ihr Computer oder "Client"-Computer im Internet
  • Y = die Reverse-Proxy-Website, proxy.example.com
  • Z = die Website, die Sie besuchen möchten, www.example.net

Normalerweise würde man eine direkte Verbindung von X --> Z.

In einigen Szenarien ist es jedoch besser, wenn der Administrator von Z um den direkten Zugriff einzuschränken oder zu verbieten und Besucher zu zwingen, zuerst über Y zu gehen. Wie zuvor werden die Daten also abgerufen durch Y --> Z im Namen von X die wie folgt verkettet sind: X --> Y --> Z .

Der Unterschied zu einem "Forward Proxy" besteht darin, dass der Nutzer dieses Mal X weiß nicht, dass er Zugang zu Z weil der Benutzer X sieht nur, dass er mit einer anderen Person kommuniziert Y . Der Server Z ist für die Clients unsichtbar und nur der Reverse-Proxy Y ist von außen sichtbar. Ein Reverse-Proxy erfordert keine (Proxy-)Konfiguration auf der Client-Seite.

Der Kunde X denkt, er kommuniziere nur mit Y ( X --> Y ), aber die Realität ist, dass Y Weiterleitung der gesamten Kommunikation ( X --> Y --> Z wieder).

Gründe, warum Z einen Reverse-Proxy-Server einrichten sollte:

  • 1) Z möchte, dass der gesamte Verkehr zu seiner Website zuerst über Y geleitet wird.
    • a) Z hat eine große Website, die Millionen von Menschen sehen wollen, aber ein einziger Webserver kann den gesamten Datenverkehr nicht bewältigen. Also richtet Z viele Server ein und stellt einen Reverse Proxy ins Internet, der die Nutzer zum nächstgelegenen Server schickt, wenn sie versuchen, Z zu besuchen. Dies ist Teil des Konzepts des Content Distribution Network (CDN).
  • 2) Der Administrator von Z befürchtet Vergeltungsmaßnahmen für die auf dem Server gehosteten Inhalte und möchte den Hauptserver nicht direkt der Öffentlichkeit zugänglich machen.
    • a) Besitzer von Spam-Marken wie "Canadian Pharmacy" scheinen Tausende von Servern zu haben, während die meisten Websites in Wirklichkeit auf viel weniger Servern gehostet werden. Außerdem werden bei Missbrauchsbeschwerden über Spam nur die öffentlichen Server abgeschaltet, nicht aber der Hauptserver.

In den oben genannten Szenarien, Z hat die Möglichkeit zu wählen Y .

Links zu Themen aus dem Beitrag:

Content Delivery Network

Weiterleitungsproxy-Software (serverseitig)

Reverse-Proxy-Software für HTTP (Server-Seite)

Reverse-Proxy-Software für TCP (Server-Seite)

Siehe auch:

1 Stimmen

TAM (Tivoli Access Manager) ist auch ein Reverse-Proxy-Server, richtig?

0 Stimmen

Was ist mit Open-Proxy??

2 Stimmen

Konzeptionell könnten wir eine "umgekehrte Vollmacht" dann als "erzwungene" Vollmacht bezeichnen oder betrachten?

587voto

Ein paar einfache Definitionen wären:

Weiterleitungsvollmacht: Handelt im Namen eines Antragstellers (oder Dienstnutzers)

Umgekehrte Vollmacht: Handelt im Namen des Dienstes/Inhaltsproduzenten.

485voto

Nishant Punkte 18752

Das nachstehende Diagramm war sehr hilfreich für mich. Es zeigt einfach die Architektur eines weiter vs. umkehren Proxy-Einrichtung von Client zu Server über das Internet. Dieses Bild wird Ihnen helfen zu verstehen qyb2zm302's Antwort und andere Antworten besser.

Forward Proxy vs Reverse Proxy

Sie können auch beobachten dieses Video de F5 's DevCentral von Peter Silva.

Bildquelle: Quora . Allerdings, wie nach Martijn Pieters könnte dieses Bild von Pulse Secure Gemeinschaft oder Julien Pauli's Website (auf Französisch) unter developpez.com.

Das erinnerte mich an das klassische Sprichwort:

Ein Bild sagt mehr als 1000 Worte.

19 Stimmen

Das ist wirklich alles, was Sie sich ansehen müssen. Wenn Sie in Ihrem Browser einen Proxy einrichten, damit Netflix nicht weiß, in welchem Land Sie sich befinden, handelt es sich um einen Forward-Proxy; ein Upstream-Dienst, der eine eingehende Anfrage weiterleitet (vielleicht möchten Sie eine Anfrage an zwei Server senden), ist ein Reverse-Proxy.

10 Stimmen

Forward Proxy kann auch im Internet sein

13 Stimmen

Das beste Bild in der letzten Antwort. Danke! :) Ein Reverse-Proxy ist auch als "Load Balancer" bekannt und agiert auf der Server-Seite (verteilt die Last auf verschiedene Server), während ein Forward-Proxy die Client-Seite unterstützt.

260voto

Protongun Punkte 3150

Vorwärts-Proxy vs. Reverse-Proxy (2012) erklärt den Unterschied zwischen Forward- und Reverse-Proxies sehr deutlich.

qyb2zm302's Antwort geht ausführlich auf die Anwendungen von Proxies ein, vernachlässigt aber das grundlegende Konzept zwischen Vorwärts- und Rückwärts-Proxies. Bei der umgekehrten Stellvertretung X → Y → Z weiß X über Y Bescheid und nicht über Z, und nicht umgekehrt.

Ein Proxy ist einfach ein Mittelsmann für die Kommunikation (Anfragen + Antworten). Client <-> Proxy <-> Server

  • Client-Vollmacht: ( Kunde <-> Proxy ) <-> Server

Der Bevollmächtigte handelt im Namen des Auftraggebers. Der Client weiß über alle drei an der Kette beteiligten Rechner Bescheid. Der Server weiß es nicht.

  • Server-Proxy: Client <-> ( Proxy <-> Server )

Der Proxy handelt im Namen des Servers. Der Client kennt nur den Proxy. Der Server kennt die gesamte Kette.

Es scheint mir, dass weiter y umkehren sind einfach verwirrende, perspektivabhängige Namen für Kunde y Server Vollmacht. Ich schlage vor, die erstere für die letztere, für die explizite Kommunikation, aufzugeben.

Erschwerend kommt hinzu, dass nicht jeder Rechner ausschließlich ein Client oder ein Server ist. Bei Unklarheiten im Kontext ist es am besten, explizit anzugeben, wo der Proxy liegt und welche Kommunikation er tunnelt.

6 Stimmen

Diese Antwort steht im Einklang mit httpd.apache.org/docs/2.0/mod/mod_proxy.html#forwardreverse und hilft, es klar zu erklären

10 Stimmen

Das wichtigste Merkmal bei diesem Vergleich scheint zu sein, wer wen kennt. Forward Proxy: Der Client kennt sowohl den Proxy (er hat ihn tatsächlich konfiguriert) als auch den Zielserver (da er eine Anfrage an die URL des Servers stellt), während der Client im Falle des Reverse Proxy den Proxy als Zielserver kennt (er weiß nicht, was der Proxy tatsächlich aufruft; das kann ein Server oder mehrere sein). Bei einem Forward-Proxy weiß der Server nicht, wer die Clients wirklich sind, da der Proxy die Anfrage an ihn "weiterleitet". Forward-Proxy: Client(s) verbergen. Reverse-Proxy: Server(s) verbergen.

0 Stimmen

@Protongun " Ein Proxy ist einfach ein Mittelsmann für die Kommunikation (Anfragen + Antworten) " wozu braucht man überhaupt einen Proxy? Bitte klären. IMHO sollte diese Antwort die akzeptierte sein

131voto

Maria Ines Parnisari Punkte 15230

Einige Diagramme könnten helfen:

Weiterleitungsvollmacht

Forward proxy

Umgekehrter Proxy

Reverse proxy

12 Stimmen

Ist das so? Sie sehen gleich aus! Was ist das Besondere am Umschreiben einer Antwort, das aus einem Proxy einen "umgekehrten" Proxy macht?

3 Stimmen

@8bitjunkie Es geht um die Perspektive. Beachten Sie, dass der Client beim Forward-Proxy weiß, dass er mit einem Proxy-Server kommuniziert. Beim Reverse-Proxy denkt der Client, er kommuniziere direkt mit home.com. Die Proxys haben auch unterschiedliche Implementierungen. Der Reverse-Proxy kann ziemlich dumm sein. Er muss nur die Adresse ändern und den Anruf weiterleiten. Mehr Netzwerklogik auf dem Client, weniger auf dem Proxy. Der Forward-Proxy hingegen muss irgendwie wissen, dass eine Anfrage an proxy.com() einen Aufruf an service.com erfordert. Weniger Netzwerklogik auf dem Client, mehr auf dem Proxy.

2 Stimmen

Was ist gemeint mit " übersetzen myhome.myhosting.com zu hom.com" Ich verstehe den Teil mit der Übersetzung nicht. Wie ein Teil des Antwort-Headers neu schreiben oder so?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X