Frage Unterschied zwischen Proxy-Server und Reverse-Proxy-Server


Was ist der Unterschied zwischen Proxy-Server und Reverse-Proxy-Server?


1444
2017-10-22 06:27


Ursprung


Antworten:


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

Zunächst einmal beschreibt das Wort "Proxy" jemanden oder etwas, das für jemand anderen handelt.

Im Computerbereich sprechen wir von einem Server, der im Auftrag eines anderen Computers handelt.

Zum Zwecke der Barrierefreiheit werde ich meine Diskussion auf Web-Proxies beschränken - die Idee eines Proxy ist jedoch nicht auf Websites beschränkt.

FORWARD-Proxy

Die meisten Diskussionen über Web-Proxies beziehen sich auf den Proxy-Typ, der als "Forward-Proxy" bezeichnet wird.

Das Proxy-Ereignis ist in diesem Fall, dass der "Forward-Proxy" Daten von einer anderen Website im Auftrag des ursprünglichen Anforderers abruft.

Eine Geschichte von 3 Computern (Teil I)

Als Beispiel werde ich drei Computer auflisten, 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 direkt verbinden von X --> Z.

In manchen Szenarien ist es jedoch besser für Y --> Z im Auftrag von X, welche Ketten wie folgt: X --> Y --> Z.

Gründe, warum X einen Forward-Proxy-Server verwenden möchte:

Hier ist eine (sehr) unvollständige Liste von Verwendungen eines Forward-Proxy-Servers.

  • 1) X kann nicht direkt auf Z zugreifen weil

    • a) Jemand mit Verwaltungsbefugnis XDie Internetverbindung hat entschieden, den Zugriff auf die Website zu blockieren Z.

      • Beispiele:

        • Der Storm-Worm-Virus verbreitet sich, indem er Leute zum Besuch verleitet familypostcards2008.comDaher hat der Systemadministrator den Zugriff auf die Site blockiert, um zu verhindern, dass sich Benutzer versehentlich infizieren.

        • Mitarbeiter eines großen Unternehmens haben zu viel Zeit verschwendet facebook.comDaher möchte das Management den Zugriff während der Geschäftszeiten gesperrt.

        • Eine lokale Grundschule verbietet den Zugang zum Internet playboy.com Webseite.

        • Eine Regierung ist nicht in der Lage, die Veröffentlichung von Nachrichten zu kontrollieren, also kontrolliert sie stattdessen den Zugang zu Nachrichten, indem sie Seiten wie wikipedia.org. Sehen TOR oder FreeNet.

    • b) Der Administrator von Z hat blockiert X.

      • Beispiele:

        • Der Administrator von Z hat Hacking-Versuche von X bemerkt, so dass der Administrator entschieden hat, Xs IP-Adresse (und / oder Netrange) zu blockieren.

        • Z ist eine Forumswebsite. X Spammt das Forum. Z Blöcke X.

REVERSE-Proxy

Eine Geschichte von 3 Computern (Teil II)

In diesem Beispiel listet ich drei Computer auf, 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 direkt verbinden von X --> Z.

In manchen Fällen ist es jedoch besser für den Administrator von Z den direkten Zugang zu beschränken oder zu verbieten und Besucher dazu zu zwingen, zuerst durch Y zu gehen. Also, wie zuvor, haben wir Daten, die durch abgerufen werden Y --> Z im Auftrag von X, die wie folgt kettet: X --> Y --> Z.

Was diesmal anders ist als bei einem "Forward Proxy", ist dieses Mal der Benutzer X weiß nicht, dass er zugreift Z, weil der Benutzer X sieht nur, dass er mit ihm kommuniziert Y.
Der Server Z ist für Clients und nur für den Reverse-Proxy unsichtbar Y ist äußerlich sichtbar. Ein Reverse Proxy erfordert auf Client-Seite keine (Proxy-) Konfiguration.

Der Kunde X denkt, er kommuniziert nur mit Y (X --> Y), aber die Realität ist das Y Weiterleitung aller Kommunikation (X --> Y --> Z nochmal).

Gründe, warum Z einen Reverse-Proxy-Server einrichten möchte:

  • 1) Z möchte den gesamten Verkehr zu seiner Website zwingen, zuerst durch Y zu gehen.
    • a) Z hat eine große Website, die Millionen von Menschen sehen möchten, aber ein einziger Webserver kann nicht den gesamten Datenverkehr bewältigen. Also richtet Z viele Server ein und setzt einen Reverse-Proxy im Internet, der Benutzer zu dem Server schickt, der ihnen am nächsten ist, wenn sie versuchen, Z zu besuchen. Dies ist ein Teil davon, wie das CDN-Konzept (Content Distribution Network) funktioniert.
  • 2) Der Administrator von Z ist besorgt über Vergeltungsmaßnahmen für auf dem Server gehostete 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 in Wirklichkeit die meisten Websites auf weitaus weniger Servern gehostet werden. Darüber hinaus werden Missbrauchsbeschwerden über den Spam nur die öffentlichen Server herunterfahren, nicht den Hauptserver.

In den obigen Szenarien Z hat die Möglichkeit zu wählen Y.

Links zu Themen aus dem Post:

Inhaltsbereitstellungsnetzwerk

Forward-Proxy-Software (Serverseite)

Reverse-Proxy-Software für HTTP (Serverseite)

Reverse-Proxy-Software für TCP (Serverseite)

siehe auch:


2544
2017-08-10 14:35



Ein Paar einfacher Definition wäre

Forward Proxy: Im Namen eines Anforderers (oder Service-Consumers) handeln

Reverse Proxy: handelt im Auftrag des Service / Content Producer.


443
2017-08-31 04:55



Ich fand dieses Diagramm sehr hilfreich. Es zeigt nur die Architektur eines forward vs reverse Proxy-Setup von Client zu Server über das Internet. Dieses Bild wird Ihnen helfen, qyb2zm302's zu verstehen Post und andere Beiträge besser.

Forward Proxy vs Reverse Proxy

Sie können auch zusehen Dies Video von F5ist es DevCentral von Peter Silva.

Bildquelle: Quora. Alle Kredite an die Person, die dieses Diagramm erstellt hat.

Es erinnerte mich an das klassische Sprichwort:

Ein Bild ist 1000 Worte wert.


258
2018-01-07 05:29



Die Antwort von qyb2zm302 beschreibt sehr schön die Anwendungen von Proxies, lässt aber das grundlegende Konzept zwischen Forward- und Reverse-Proxies erahnen. Für den Reverse-Proxy, X -> Y -> Z, weiß X von Y und nicht Z, und nicht umgekehrt.

http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy erklärt den Unterschied zwischen Forward und Reverse Proxies sehr deutlich.

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

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

    Der Vertreter handelt im Namen des Kunden. Kunde kennt alle 3 Maschinen in der Kette beteiligt. Server nicht.

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

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

Scheint mir so nach vorne und umkehren sind einfach verwirrend, perspektiveabhängige Namen für Klient und Server Proxy. Ich schlage vor, die erstere für die explizite Kommunikation aufzugeben.

Um die Angelegenheit noch komplizierter zu machen, ist natürlich nicht jede Maschine ausschließlich ein Client oder ein Server. Wenn es im Kontext eine Mehrdeutigkeit gibt, ist es am besten, explizit anzugeben, wo der Proxy liegt und die Kommunikation, die er tunnelt.


192
2018-01-17 16:14



Einige Diagramme könnten helfen:

Proxy weiterleiten

Forward proxy

Reverse-Proxy

Reverse proxy


122
2018-02-20 13:06



Der Unterschied liegt hauptsächlich in der Bereitstellung. Web-Forward- und -Reverse-Proxys haben alle dieselben grundlegenden Funktionen, sie akzeptieren Anforderungen für HTTP-Anforderungen in verschiedenen Formaten und bieten eine Antwort, in der Regel durch Zugriff auf den Ursprungs- oder Kontaktserver.

Voll ausgestattete Server verfügen normalerweise über Zugriffssteuerung, Caching und einige Link-Mapping-Funktionen.

Ein Forward-Proxy ist ein Proxy, auf den durch Konfigurieren des Client-Computers zugegriffen wird. Der Client benötigt Protokollunterstützung für Proxy-Funktionen (Umleitung, Proxy-Authentifizierung usw.). Der Proxy ist für die Benutzererfahrung transparent, nicht jedoch für die Anwendung.

Ein Reverseproxy ist ein Proxy, der als Webserver bereitgestellt wird und sich wie ein Webserver verhält, mit der Ausnahme, dass er die Anforderung nicht lokal an Programme und Datenträger sendet, sondern die Anforderung an einen Ursprungsserver weiterleitet. Aus der Clientperspektive ist es ein Webserver, so dass die Benutzererfahrung vollständig transparent ist.

Tatsächlich kann eine einzelne Proxy-Instanz gleichzeitig als Forward- und Reverse-Proxy für unterschiedliche Client-Populationen ausgeführt werden.

Das ist die Kurzversion, ich kann klären, ob die Leute kommentieren wollen.


65
2017-10-22 06:45



Proxy: Er stellt die Anfrage im Auftrag des Kunden. Daher gibt der Server die Antwort an den Proxy zurück, und der Proxy leitet die Antwort an den Client weiter. In der Tat wird der Server niemals "erfahren", wer der Client war (Client-IP), er wird nur den Proxy kennen. Der Client kennt den Server jedoch definitiv, da er im Wesentlichen die für den Server bestimmte HTTP-Anfrage formatiert, sie aber nur an den Proxy weitergibt.

enter image description here

Reverse Proxy: Er empfängt die Anfrage im Auftrag des Servers. Er leitet die Anfrage an den Server weiter, empfängt die Antwort und gibt die Antwort an den Client zurück. In diesem Fall wird der Client niemals "erfahren", wer der tatsächliche Server war (die IP des Servers) (mit einigen Ausnahmen), er wird nur den Proxy kennen. Der Server wird den tatsächlichen Client kennen oder nicht kennen, abhängig von den Konfigurationen des Reverse-Proxy.

enter image description here


49
2017-08-04 06:36



Ein Proxy-Server leitet ausgehende Netzwerkanforderungen an verschiedene nicht notwendigerweise damit zusammenhängende öffentliche Ressourcen im Internet weiter (und speichert sie optional zwischen). Ein Reverse-Proxy erfasst (und fakultativ) eingehende Anforderungen aus dem Internet und verteilt sie an verschiedene interne private Ressourcen, normalerweise für Hochverfügbarkeitszwecke.


35
2017-07-16 08:54



Beste Erklärung Hier mit Diagrammen:

Während ein Proxy weiterleiten Proxies im Auftrag von Kunden ( oder anfragende Hosts ), ein Reverse-Proxy Proxies im Auftrag von Servern

In der Tat, während a Proxy weiterleiten verbirgt die Identitäten von Kunden, a Reverse-Proxy verbirgt die Identitäten von Servern


31
2018-04-09 22:00



Ein normaler Proxy weiterleiten ist ein Zwischenserver, der sich zwischen dem Client und dem Ursprungsserver befindet. Um Inhalte von dem Ursprungsserver zu erhalten, sendet der Client eine Anforderung an den Proxy, der den Ursprungsserver als das Ziel bezeichnet, und der Proxy fordert dann den Inhalt von dem Ursprungsserver an und sendet ihn an den Client zurück. Der Client muss speziell konfiguriert sein, um den Forward-Proxy für den Zugriff auf andere Sites zu verwenden.

EIN Reverse Proxy (oder Gateway)Im Gegensatz dazu erscheint der Client wie ein normaler Webserver. Es ist keine spezielle Konfiguration auf dem Client erforderlich. Der Client führt normale Anfragen nach Inhalt im Namensraum des Reverse-Proxy aus. Der Reverse-Proxy entscheidet dann, wohin diese Anfragen gesendet werden, und gibt den Inhalt zurück, als wäre er selbst der Ursprung.

Eine typische Verwendung eines Reverse-Proxy besteht darin, Internetnutzer bereitzustellen Zugriff auf einen Server, der sich hinter einer Firewall befindet. Umgekehrte Proxies können auch verwendet werden, um die Last auf mehrere Back-End-Server zu verteilen oder um Caching für einen langsameren Back-End-Server bereitzustellen. Reverse-Proxies können außerdem einfach dazu verwendet werden, mehrere Server in denselben URL-Bereich zu bringen.

für weitere Informationen besuchen Sie: Apache-Dokumente


22
2017-10-01 03:08