Freigeben über


Erstellen eines Weiterleitungsproxys mit Application Request Routing

von Jim van de Erve

In diesem Artikel wird erläutert, wie Sie die Features Application Request Routing (ARR) und URL Rewrite von Internetinformationsdienste (IIS) verwenden, um einen Weiterleitungsproxyserver zu implementieren.

Übersicht

Das Routing von Anwendungsanforderungen ist ein Feature von IIS, mit dem Sie Internetdatenverkehr mithilfe eines Proxyservers steuern können. Ein Proxyserver fungiert als einziger Kontaktpunkt, der Clients auf der Anforderungsseite oder Webserver-Worker auf der Antwortseite bereitstellt. Auf der Anforderungsseite akzeptiert der Proxy eine Anforderung von einem von mehreren Clients und leitet sie an das Internet weiter. Im Internet scheint die Anforderung vom Proxy und nicht vom Client zu stammen. Auf der Antwortseite akzeptiert der Proxy eine Anforderung aus dem Internet und verteilt sie an einen von mehreren Workern. Im Internet scheint der Proxyserver die Anforderung selbst verarbeitet und selbst eine Antwort generiert zu haben, anstelle eines Back-End-Workers.

Der erste Proxyservertyp, der eine ausgehende Anforderung von einem Client verarbeitet, sie an das Internet weiterleitet und die generierte Antwort an den Client zurückgibt, wird als Weiterleitungsproxybezeichnet. Der zweite Proxyservertyp, der eine eingehende Anforderung aus dem Internet verarbeitet, sie an einen Back-End-Worker weiterleitet und die Antwort an das Internet zurückgibt, wird als Reverseproxybezeichnet.

Forward and Reverse Proxies

Weiterleitungsproxys und Reverseproxys weisen wesentlich unterschiedliche Funktionen auf, beide führen jedoch dieselbe grundlegende Aktion aus, um als Proxy für einen Anforderer oder Antwortdienst zu dienen. In beiden Fällen isoliert der Proxyserver das private Netzwerk aus dem Internet, sodass Sie Maßnahmen zur Verbesserung der Sicherheit ergreifen können. In beiden Fällen verarbeitet der Proxy Anforderungen und Antworten, sodass er Vorgänge für den Datenverkehr ausführt, der die Leistung verbessern kann, indem Zwischenspeicherung oder Komprimierung, Angriffsschutz und Filterinformationen verwendet werden.

ARR als Weiterleitungsproxy

Wenn ARR als Weiterleitungsproxy dient, ist es Teil eines internen Netzwerks (oder Intranets) von Clientcomputern. Der Proxy verwendet eine URL Rewrite-Regel, um Anforderungen von Clients an das Internet zu übergeben. ARR kann als Weiterleitungsproxy verwendet werden, um die Bandbreitennutzung und Leistung durch Zwischenspeichern zu verbessern; Es eignet sich jedoch nicht als vollgeschützter, kommerzieller Weiterleitungsproxy.

Beachten Sie, dass ARR nur HTTP-Datenverkehr verarbeitet, keine anderen Protokolle. ARR unterstützt das HTTP CONNECT Verb nicht und unterstützt daher keine Weiterleitung von HTTPS-Datenverkehr.

ARR as a Forward Proxy

Wenn er eine Anforderung von einem der Clients empfängt, die den Zielwebserver benennen, verarbeitet der Weiterleitungsproxyserver die Anforderung wie folgt und leitet sie über die Firewall an das Internet weiter:

  1. Der Weiterleitungsproxyserver empfängt die Anforderung von einem Client und überprüft seine Gültigkeit.
  2. Wenn die Anforderung gültig ist, überprüft ARR den Cache, um festzustellen, ob sich die Antwort bereits dort befindet. Wenn die Antwort gefunden wird, gibt ARR sie an den Client zurück, ohne die Anforderung an das Internet zu senden.
  3. Wenn ARR die Antwort im Cache nicht findet, sendet der Proxyserver die Anforderung über die Firewall an eine Internetverbindung und an den Inhaltsserver, der die Information hat.
  4. Wenn die Anforderung vom Inhaltsserver erfüllt wird, wird die Antwort über das Internet an den Weiterleitungsproxyserver zurückgegeben. ARR kann so konfiguriert werden, dass die Antwort zwischengespeichert wird.

Der Weiterleitungsproxy bietet die folgenden Vorteile:

  • Verbessert die Leistung und verringert den Netzwerkdatenverkehr, indem Informationen zwischengespeichert werden, die regelmäßig angefordert werden (sofern aktiviert). Er speichert die Antwort für den ersten Anforderer zwischen wenn dann nachfolgende Clients denselben Inhalt anfordern, erhalten sie den Inhalt aus dem Cache. Die Antwort wird nicht erneut vom Inhaltsserver angefordert.
  • Trägt zur Verbesserung der Netzwerksicherheit bei, indem sichergestellt wird, dass Anforderungen gültig sind.
  • Verbessert die Leistung mithilfe der IIS-Komprimierung (sofern aktiviert).
  • Unterstützt die Filterung mithilfe von URL Rewrite, um sicherzustellen, dass Richtlinien erfüllt werden.

Installieren und Konfigurieren von ARR als Forward Proxy

Voraussetzungen

Um einen Weiterleitungsproxyserver mit ARR einzurichten, müssen Sie folgendes haben:

  • IIS 7.0 oder höher unter Windows 2008 (jede SKU) oder neuer mit installiertem Ablaufverfolgungsrollendienst für IIS.
  • Microsoft Application Request Routing Version 3 und abhängige Module
  • Mindestens einen Arbeitsserver mit funktionierenden Websites und Anwendungen.

Installieren von ARR

Wenn Application Request Routing Version 3 nicht installiert wurde, steht es hier zum Download zur Verfügung. Die von diesem Link angezeigte Downloadwebsite enthält Installationsanweisungen.

URL Rewrite installieren

Installieren Sie das URL Rewrite-Modul für IIS über den Server-Manager. Weitere Informationen finden Sie unter Installieren von IIS 8.5 unter Windows Server 2012 R2.

Konfigurieren von ARR als Weiterleitungsproxy

Um ARR als Proxy zu aktivieren und eine URL Rewrite-Regel zu erstellen, um ARR als Weiterleitungsproxy zu aktivieren, fahren Sie wie folgt fort:

  1. Öffnen Sie das Dialogfeld Internetinformationsdienste-Manager.

  2. Wählen Sie im Bereich Verbindungen den Server aus.

  3. Doppelklicken Sie im Serverbereich auf Application Request Routing Cache. ARR Cache icon

  4. Klicken Sie im Bereich Aktionen auf Serverproxyeinstellungen. Server Proxy Settings

  5. Wählen Sie auf der Seite Anwendungsanforderungsrouting Proxy aktivieren aus. Enable proxy

  6. Klicken Sie im Bereich Aktionen auf Übernehmen. Dies aktiviert ARR als Proxy auf Serverebene. Enable ARR as a proxy

  7. Um damit anzufangen, ARR in einen Weiterleitungsproxy umzuwandeln, klicken Sie im Bereich Verbindungen auf den Serverknoten.

  8. Doppelklicken Sie im Serverbereich auf URL Rewrite. URL Rewrite

  9. Klicken Sie im Aktionsbereich auf Regel(n) hinzufügen. Add Rule

  10. Doppelklicken Sie im Dialogfeld Regel hinzufügen auf Leere Regel. Blank Rule

  11. Geben Sie im Dialogfeld Eingehende Regel bearbeiten „Weiterleitungsproxy“ bei Name ein. Geben Sie im Bereich URL übereinstimmen Folgendes ein:

    • Using: Wildcards
    • Pattern: *

    Screenshot shows the Edit Inbound Rule dialog box for Forward Proxy.

  12. Scrollen Sie nach unten zum Bereich Bedingungen des Dialogfelds Eingehende Regel bearbeiten und klicken Sie dann auf Hinzufügen…. Add Condition

  13. Wählen Sie im Dialogfeld Bedingung hinzufügen folgendes aus, oder geben Sie folgendes ein:

    • Bedingungseingabe: {HTTP_HOST}
    • Type: Matches the Pattern
    • Pattern: *

    Edit Inbound Rule

  14. Scrollen Sie nach unten zum Aktionsbereich des Dialogfelds Eingehende Regel bearbeiten und geben Sie dann Folgendes ein:

    • Aktionstyp: Umschreiben
    • URL umschreiben: http://{C:1}/{R:0}

    Screenshot shows the Edit Inbound Rule dialog box with the Action type Rewrite and a specified Rewrite URL.

  15. Klicken Sie im Bereich Aktionen auf Übernehmen.

    Hinweis

    Mit dieser Regel können HTTP-Nachrichten über den Weiterleitungsproxy übergeben werden. HTTPS-Nachrichten (443) werden für diesen Weiterleitungsproxy nicht unterstützt, da ARR „HTTP CONNECT“ nicht unterstützt.

  16. Konfigurieren Sie die Proxyeinstellungen entsprechend ihren Anwendungen, Browsern usw.