Freigeben über


Bereitstellen des Anwendungsanforderungsroutings im CDN

von Won Yoo

Dieser Abschnitt des Dokuments gilt für Microsoft Application Request Routing Version 2 für IIS 7 und höher.

Ziel

So konfigurieren Sie erfolgreich einen untergeordneten Edge-Cache-Knoten und einen übergeordneten Cache-Knoten in der Bereitstellung einer 2-stufigen Cache-Hierarchie in einer Netzwerkumgebung mit Edge-Caching (CDN/ECN). Der Schwerpunkt dieser Anleitung besteht darin, die URL-Umschreibungsregeln für den untergeordneten Edge-Cacheknoten und den übergeordneten Cacheknoten zu verstehen. In diesem Leitfaden werden Schritt-für-Schritt-Anleitungen zum Einrichten der folgenden Konfiguration bereitgestellt:

Diagramm mit einer Übersicht über die Verbindung zwischen dem Ursprungsserver, übergeordneten Knoten, untergeordneten Knoten und S A N.

Einige der Highlights dieser Konfiguration sind:

  • Die Ursprungssuche erfolgt durch den untergeordneten Rand-Cacheknoten.

    • Die Liste der Kunden (also die Liste der zulässigen Ursprungsserver) wird explizit mit einer Rewrite-Karte in URL Rewrite verwaltet.
    • Die Hostnamen, die in der Rewrite Map nicht gefunden werden, werden blockiert.
  • Der übergeordnete Cacheknoten ist größtenteils als Weiterleitungsproxy konfiguriert.

  • SAN ist so konfiguriert, dass es von den untergeordneten und Randcacheknoten gemeinsam genutzt werden kann.

    • Effektiv gibt es drei Cacheebenen:

      1. Untergeordneter/Edge-Cache-Knoten.
      2. SAN.
      3. Übergeordneter Cache-Knoten.

Voraussetzungen

In dieser exemplarischen Vorgehensweise wird davon ausgegangen, dass Sie mit den Konfigurationen für die Datenträgercache- und Cachehierarchieverwaltung in ARR Version 2 vertraut sind. Wenn dies noch nicht geschehen ist, wird dringend empfohlen, die folgenden exemplarischen Vorgehensweisen zu überprüfen, bevor Sie fortfahren:

Wenn Anwendungsanforderungsrouting Version 2 nicht installiert wurde, können Sie es herunterladen unter:

  • Microsoft Application Request Routing Version 2 für IIS 7 (x86) hier (https://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE).
  • Microsoft Application Request Routing Version 2 für IIS 7 (x64) hier (https://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE).

Führen Sie die im Artikel " Install Application Request Routing Version 2 " beschriebenen Schritte aus, um ARR Version 2 zu installieren.

Konfiguration von Kind/Edge-Cacheknoten

Schritt 1: Konfigurieren des Datenträgercaches

Konfigurieren und aktivieren Sie den Festplattencache, indem Sie dem Artikel „Install Application Request Routing Version 2“ folgen. In diesem Artikel wird auch erläutert, wie Sie ein SAN so konfigurieren, dass es als sekundärer Cachelaufwerkspeicherort verwendet wird.

Schritt 2: Definieren einer Serverfarm für übergeordnete Cacheknoten

Definieren Sie eine Serverfarm, und fügen Sie übergeordnete Cacheknoten hinzu, indem Sie dem Artikel " Cachehierarchieverwaltung mithilfe des Anwendungsanforderungsrouting " folgen.

Schritt 3 - Erstellen zusätzlicher URL-Neuschreiberegeln für untergeordnete/Edge-Cacheknoten

Zu diesem Zeitpunkt wurde mit myParentCacheNodes als Name der Serverfarm die folgende URL-Umschreibungsregel in der Datei applicationHost.config geschrieben, die sich unter %windir%\system32\inetsrv\config\:

<rewrite>
   <globalRules>
      <rule name="ARR_myParentCacheNodes_loadbalance" patternSyntax="Wildcard" stopProcessing="true">
         <match url="*" />
         <action type="Rewrite" url="http://myParentCacheNodes/{R:0}" />
      </rule>
   </globalRules>
</rewrite>

Die oben genannte Regel reicht nicht für eine CDN/ECN-Bereitstellung aus, da die Cacheknoten gestuft sind und die nächste Ebene von Cacheknoten (d. h. die übergeordneten Cacheknoten) nicht wissen, wie die Ursprungsserver gefunden werden, wenn ein Cachefehler auf der übergeordneten Cacheebene auftritt.

In dieser exemplarischen Vorgehensweise wird das Problem behoben, indem der untergeordnete Cacheknoten dem Ursprungsserver zugeordnet wird, bevor die Anforderung an den übergeordneten Cacheknoten weitergeleitet wird. Es gibt zwei häufigste Methoden, auf denen die Ursprungsserver basierend auf der URL zugeordnet werden, die der untergeordnete Cacheknoten empfängt:

  1. Der Kunde des CDN/ECN wird als Unterdomäne angegeben. In diesem Fall kann es viele Hostnamenbindungen an dieselbe IP-Adresse des untergeordneten Cacheknotens geben.
    Beispiel: http://customer1.mycnd.net/, http://customer2.mycdn.net/usw.
  2. Der Kunde des CDN/ECN wird als erster Pfad in der URL angegeben.
    Beispiel: http://static.mycdn.net/customer1/, http://static.mycdn.net/customer2/usw.

In dieser Anleitung wird das erste Beispiel zur Veranschaulichung verwendet. Ähnliche Regeln können auch geschrieben werden, um das zweite Szenario zu aktivieren.

  1. Definieren Sie die URL-Umschreibungszuordnungen, die zum Nachschlagen des Hostnamens des Ursprungsservers verwendet werden können. Starten Sie DEN IIS-Manager.

  2. Wählen Sie das Stammverzeichnis des Servers aus, und erweitern Sie es. Dies ist Ihr untergeordneter Cacheknoten (Edge).

    Screenshot des erweiterten untergeordneten Cacheknotens.

  3. Doppelklicken Sie auf "URL neu schreiben".

  4. Klicken Sie im Bereich "Aktionen " auf "Karten neu schreiben" anzeigen.

    Screenshot des Bereichs

  5. Klicken Sie im Bereich Aktionen auf Add Rewrite Map.

    Screenshot des Bereichs

  6. Geben Sie im Dialogfeld "Rewrite Map hinzufügen" den Namen "OriginServers" ein.

    Screenshot des Dialogfelds „Rewrite-Map hinzufügen“ mit OriginServers im Eingabefeld.

  7. In der Umschreibungszuordnung identifizieren Sie explizit die Zuordnung zwischen dem Hostnamen, den der untergeordnete Cacheknoten empfängt, und den entsprechenden Ursprungshostnamen. Klicken Sie im Bereich "Aktionen " auf " Zuordnungseintrag hinzufügen...".

    Screenshot des Menüs

  8. Fügen Sie im Dialogfeld " Zuordnungseintrag hinzufügen " den Hostnamen hinzu, den der untergeordnete Cacheknoten empfängt, und den Ursprungshostnamen. Im folgenden Beispiel empfängt der untergeordnete ARR-Cacheknoten customer1.mycdn.net als Hostnamenheader. Der entsprechende Ursprungsserver ist images.customer1.com.

    Screenshot des Dialogfelds

  9. Wiederholen Sie Schritt 8 so oft wie nötig, um alle Kunden einzuschließen, für die Ihr CDN/ECN Dienste bereitstellt. So können Sie die explizite Liste Ihrer Kunden verwalten, um sicherzustellen, dass Ihr Dienst nur ihren Kunden zur Verfügung gestellt wird.

  10. Wenn Sie die Kunden blockieren möchten, die sich nicht in der Umschreibungszuordnungsliste befinden, legen Sie den Standardwert dieser Umschreibungszuordnung auf # fest, bei der es sich um ein unzulässiges Zeichen handelt, das nicht als Teil des Hostname-Headers verwendet werden kann, laut RFC. Klicken Sie im Bereich "Aktionen " auf "Karteneinstellungen bearbeiten...".

    Screenshot des Menüs

  11. Geben Sie im Dialogfeld # bearbeiten" den Standardwert für diese Neuschreibungszuordnung ein.

    Screenshot des Dialogfelds

  12. Schreiben Sie den Hostname-Header mit den Regeln neu, die in der OriginServers-Umschreibungsmap konfiguriert wurden. Wenn ein Cachefehler auftritt und die Anforderung an den übergeordneten Cacheknoten weitergeleitet wird, weist die Anforderung den Hostnamen auf, der dem Ursprungsserver entspricht. Aus diesem Grund wird der übergeordnete Cacheknoten größtenteils als Weiterleitungsproxy konfiguriert. Wenn beim übergeordneten Cacheknoten ein Cachefehler auftritt, wird die Anforderung einfach basierend auf dem Hostnamenheader, den der übergeordnete Cacheknoten empfängt, an den Ursprungsserver weitergeleitet.

  13. Suchen Sie in der URL-Rewrite-Benutzeroberfläche nach der Regel. In dieser Anleitung sollte der Name der Regel ARR_myParentCacheNodes_loadbalance lauten.

    Screenshot der Beispielregeleinstellungen.

  14. Wählen Sie die Regel aus, und klicken Sie im Bereich "Aktionen " auf "Bearbeiten".

  15. Klicken Sie auf "Bedingungen hinzufügen ", um zwei Regeln hinzuzufügen.

  16. Die erste Regel verwendet die OriginServers-Umleitungskarte, die Sie in Schritt 6 erstellt haben. Die folgende Regel entspricht dem Hostheader als Schlüssel, um den Einträgen in OriginServers zu entsprechen:

    Screenshot des Dialogfelds

  17. Die zweite Regel legt den Standardwert so fest, als # wenn der Hostheader nicht mit den Einträgen in OriginServers übereinstimmt. Wie oben erwähnt, # ist kein gültiges Zeichen und kann nicht als Hostname verwendet werden. Die folgende Regel wird später verwendet, um sicherzustellen, dass nur die Kunden (wie durch Hostnamen dargestellt) in OriginServers von ARR gewartet werden:

    Screenshot des Dialogfelds

  18. Wählen Sie "Erfassungsgruppen nachverfolgen" für bedingungenübergreifend aus.

  19. Klicken Sie auf Servervariablen, um die HTTP_HOST Werte festzulegen, die den oben genannten Bedingungen entsprechen sollen.

  20. Geben Sie die folgenden Werte ein, um HTTP_HOST zurückzusetzen:

    Screenshot des Dialogfelds

  21. Klicken Sie auf OK, um die Änderungen zu speichern.

  22. Klicken Sie im Bereich Aktionen auf Übernehmen, um die Änderungen zu speichern.

  23. Um zu überprüfen, ob die richtigen Regeln geschrieben wurden, öffnen Sie die Datei applicationHost.config mit dem Editor. Die Konfigurationsdatei befindet sich unter %windir%\system32\inetsrv\config\.

  24. Suchen Sie die URL-Neuschreibregel für die Serverfarm " myParentCacheNodes". Die Anzeige sollte folgendermaßen aussehen:

    <rewrite>
       <globalRules>
          <rule name="ARR_myParentCacheNodes_loadbalance" patternSyntax="Wildcard" stopProcessing="true">
             <match url="*" />
             <conditions trackAllCaptures="true">
                <add input="{OrigServers:{HTTP_HOST}}" pattern="*" />
                <add input="{C:1}" negate="true"  pattern="#" />
             </conditions>
             <serverVariables>
                <set name="HTTP_HOST" value="{C:1}" replace="true" />
             </serverVariables>
             <action type="Rewrite" url="http://myParentCacheNodes/{R:0}" />
          </rule>
       </globalRules>
    </rewrite>
    
  25. Dringend empfohlen. Um Anforderungen zu blockieren, die nicht mit den in der obigen Umschreibungszuordnung definierten Hostnamen übereinstimmen, erstellen Sie eine Standard-URL-Neuschreibregel, die eine 400-Antwort an solche Anforderungen sendet.

    Starten Sie DEN IIS-Manager.

  26. Wählen Sie das Stammverzeichnis des Servers aus, und erweitern Sie es. Dies ist Ihr untergeordneter Cacheknoten (Edge).

    Screenshot eines erweiterten Servers.

  27. Doppelklicken Sie auf "URL neu schreiben".

  28. Klicken Sie im Bereich "Aktionen " auf " Regeln hinzufügen".

    Screenshot des Menüs

  29. Wählen Sie im Dialogfeld " Regel hinzufügen " die Option "Leere Regel" aus.

    Screenshot des Dialogfelds

  30. Geben Sie die folgenden Werte ein, und speichern Sie die Regel:
    Namen: Nicht mein Kunde
    Verwendung von: Platzhaltern
    Muster: *
    Aktionstyp: Benutzerdefinierte Antwort
    Statuscode: 400
    Unterstatuscode: 0

    Screenshot des Dialogfelds

  31. Die Reihenfolge der Regeln ist wichtig. Die URL-Umschreibregeln werden von oben nach unten verarbeitet. In diesem Beispiel wird die erste Regel, ARR_myParentCacheNodes_Loadbalance, ausgeführt, wenn der ankommende Hostname mit einem der Hostnamen übereinstimmt, die in der obigen Rewrite-Karte angegeben sind. Wenn der Name des eingehenden Hosts keinem der Hostnamen in der obigen Umschreibungszuordnung entspricht, wird die zweite Regel Nicht mein Kunde ausgeführt.

    Screenshot mit 2 Regeln.

  32. Die Konfiguration des Child/Edge-Cache-Knotens ist abgeschlossen.

Um die Konfiguration zusätzlicher untergeordneter Cacheknoten zu optimieren, kann eine freigegebene Konfiguration verwendet werden, sodass nur ein Ort zum Verwalten der Konfiguration des untergeordneten Cacheknotens vorhanden ist. Andernfalls müssen die oben genannten Konfigurationsänderungen einzeln auf allen untergeordneten Cacheknoten in der CDN/ECN-Umgebung vorgenommen werden. Weitere Informationen zur freigegebenen Konfiguration finden Sie im Artikel " Freigegebene Konfiguration" .

Konfigurieren des übergeordneten Cacheknotens

Es gibt zwei Möglichkeiten, ARR als übergeordneten Cacheknoten zu konfigurieren:

  1. Richten Sie ARR als Weiterleitungsproxy ein.
  2. Richten Sie ARR als "Reverse"-Proxy mit der Umschreibungszuordnung ein.

Selbst bei der zweiten oben genannten Option schreiben die Umschreibungsregeln einfach den eingehenden Hostnamen mit demselben Wert um und machen ihn daher effektiv zu einem Weiterleitungsproxy. Die Rewrite-Karte wird verwendet, um die Liste der Hostnamen explizit zu konfigurieren, die der übergeordnete Cache akzeptiert, ähnlich wie der untergeordnete Cacheknoten, der weiter oben konfiguriert wird. In diesem zweiten Teil der Anleitung wird der übergeordnete Cacheknoten mithilfe der ersten Option als einfacher Forward-Proxy konfiguriert.

Schritt 1: Konfigurieren des Datenträgercaches

Konfigurieren und aktivieren Sie den Datenträgercache, indem Sie den Artikel "Konfigurieren und Aktivieren des Datenträgercaches" im Artikel "Anwendungsanforderungsrouting " ausführen.

Schritt 2: Konfigurieren von ARR als Weiterleitungsproxy

  1. Aktivieren Sie ARR als Proxy. Starten Sie DEN IIS-Manager.

  2. Diese Konfiguration umfasst keine Serverfarmen. Alle Einstellungen werden auf Serverebene ausgeführt.

    Screenshot des Servers mit erweiterter Auswahl. Der Servername ist hervorgehoben.

  3. Doppelklicken Sie auf den Application Request Routing-Cache.

    Screenshot der Verbindungen und Hauptbereiche. Im Hauptbereich werden die Serverfunktionssymbole angezeigt.

  4. Klicken Sie im Bereich "Aktionen " auf "Serverproxyeinstellungen".

    Screenshot des Bereichs

  5. Aktivieren Sie das Kontrollkästchen "Proxy aktivieren", und klicken Sie dann auf "Übernehmen". Sie haben ARR gerade als Proxy auf Serverebene aktiviert.

  6. Um ARR in einen Vorwärtsproxy umzuwandeln, klicken Sie im Navigationsbereich auf den Serverknoten.

    Screenshot mit Navigationsoptionen.

  7. Doppelklicken Sie auf "URL neu schreiben".

  8. Klicken Sie im Bereich "Aktionen " auf " Regeln hinzufügen...".

    Screenshot des Bereichs

  9. Wählen Sie im Dialogfeld " Regel hinzufügen " die Option "Leere Regel" aus.

    Screenshot des Dialogfelds

  10. Geben Sie die folgenden Werte ein, und speichern Sie die Regel:
    Namen: Weiterleitungsproxy
    Verwendung von: Platzhaltern
    Muster: *
    Bedingungen:
    Eingabe: {HTTP_HOST}
    Typ: Entspricht dem Muster
    Muster: *
    Aktionstyp: Umschreiben
    URL neu schreiben: http://{C:1}/{R:0}

    Screenshot des Dialogfelds mit den Beispielwerten.

  11. Die Konfiguration des übergeordneten Cache-Knotens ist abgeschlossen.

    Um die Konfiguration zusätzlicher übergeordneter Cacheknoten zu optimieren, kann eine freigegebene Konfiguration verwendet werden, sodass nur ein Ort zum Verwalten der Konfiguration des übergeordneten Cacheknotens vorhanden ist. Andernfalls müssen die oben genannten Konfigurationsänderungen einzeln auf allen übergeordneten Cacheknoten in der CDN/ECN-Umgebung vorgenommen werden. Weitere Informationen zur freigegebenen Konfiguration finden Sie im folgenden Artikel .

Zusammenfassung

Sie haben jetzt erfolgreich untergeordnete Cacheknoten und übergeordnete Cacheknoten in einer 2-stufigen Cachehierarchie-CDN/ECN-Umgebung mit erweiterten URL-Umschreibungsregeln konfiguriert. Um die Funktionalität zu überprüfen, können Sie Schritt 4 und Schritt 5 im Artikel " Konfigurieren und Aktivieren des Datenträgercaches" im Artikel "Anwendungsanforderungsrouting" befolgen. Wenn Fehler auftreten, aktivieren Sie die Fehlgeschlagene Anfrageverfolgung, indem Sie die Schritte im Artikel Verwenden von Fehlgeschlagene Anfragenverfolgung zur Problembehandlung von Application Request Routing ausführen.

Weitere exemplarische Vorgehensweisen für ARR Version 2 finden Sie in den Dokumenten im Artikel "Application Request Routing Version 2 Overview ".