Freigeben über


Pilotprogrammverwaltung mit Application Request Routing

von IIS-Team

Übersicht

Dieses Thema führt den Leser durch die Schritte zum Starten und Verwalten von Pilot- oder Betaprogrammen mithilfe von Routing von Anwendungsanforderungen. Routing von Anwendungsanforderungen kann verwendet werden, um die entsprechenden Benutzer zur Pilotwebsite zu leiten, oder es kann auch verwendet werden, um den Datenverkehr zu begrenzen und zu verwalten, der zur Pilotwebsite weitergeleitet wird. Diese exemplarische Vorgehensweise konzentriert sich auf die Verwendung des Routings von Anwendungsanforderungen, um bestimmte Anforderungen basierend auf dem Profil des Benutzers an die Pilotwebsite weiterzuleiten.

Ziel

So konfigurieren Sie das Routing von Anwendungsanforderungen, um Risiken beim Starten eines Pilotprogramms zu verwalten und zu mindern.

Voraussetzungen

Für diese exemplarische Vorgehensweise wird Folgendes vorausgesetzt:

  • IIS 7.0 oder höher unter Windows 2008 (beliebige SKU) oder höher.
  • Microsoft Routing von Anwendungsanforderungen Version 1 und abhängige Module.
  • Mindestens vier Inhaltsserver mit Arbeitswebsites und Anwendungen. Zwei Server werden verwendet, um die Produktionswebsite zu simulieren, und die anderen beiden Server simulieren die Pilotwebsite.
  • Alternativer Browser zu Microsoft Internet Explorer, z. B. Firefox, auf einem Computer, auf dem .NET 3.5 installiert ist. (Dieses Setup wird nur zu Testzwecken verwendet.)

Führen Sie die in diesem Dokument beschriebenen Schritte aus, um Routing von Anwendungsanforderungen zu installieren.

Eine weitere Voraussetzung ist, dass der Leser zwei Serverfarmen definiert und konfiguriert hat, indem er die Schritte in Definieren und Konfigurieren einer Servergruppe mit Routing von Anwendungsanforderungen (ARR) ausführt. Eine Serverfarm stellt die Produktionsumgebung dar, während die andere die Pilotumgebung darstellt.

Schritt 1 – Ändern der URL-Umschreibungsregeln zum Weiterleiten von Anforderungen basierend auf dem Profil des Benutzers

In diesem Schritt werden URL-Umschreibungsregeln geändert, sodass nur die Benutzer, die .NET 3.5 installiert haben und Microsoft Internet Explorer (IE) verwenden, an die Pilotwebsite weitergeleitet werden, die als pilotSiteServers definiert ist. Alle anderen werden an die Produktionswebsite weitergeleitet, die als productionSiteServers definiert ist.

So ändern Sie die URL-Umschreibungsregeln mithilfe der Benutzeroberfläche:

  1. Starten Sie den IIS-Manager.

  2. Wählen Sie die Serverfarm, pilotSiteServers.

  3. Die folgenden Symbole werden angezeigt:

    Screenshot der Symbole im Serverfarmbereich.

  4. Doppelklicken Sie auf Routingregeln.

  5. Da dieses Szenario mehrere Serverfarmen mit bedingter Übereinstimmung von HTTP-Anforderungsheadern umfasst, werden die Änderungen mithilfe der URL-Umschreibbenutzeroberfläche vorgenommen, die zusätzliche Optionen verfügbar macht. Klicken Sie unter Erweitertes Routing auf URL-Umschreibung.

    Screenshot von U R L Rewrite unter dem Abschnitt

  6. Beachten Sie, dass bereits zwei Regeln erstellt wurden, aber sie müssen geändert werden.

    Screenshot des Bereichs

  7. Die Reihenfolge der Regeln ist wichtig in dieser exemplarischen Vorgehensweise. Wenn ARR_productionSiteServers_loadbalance über ARR_pilotServers_loadbalance liegt, können Sie die Reihenfolge der Regeln ändern, indem Sie die Regel nach oben oder nach unten verschieben, nachdem Sie die Regel ausgewählt haben.

  8. Wählen Sie ARR_pilotSite_Servers_loadbalance aus, und klicken Sie dann im Bereich Aktionen auf Bearbeiten.

    Screenshot des Bereichs

  9. Clients mit IE mit .NET 3.5 sollten angegeben werden, um zur Serverfarm pilotSiteServers zu wechseln. Fügen Sie dazu Bedingungen hinzu. Klicken Sie auf Bedingungen hinzufügen, und klicken Sie dann auf Hinzufügen....

    Screenshot eines leeren Dialogfelds

  10. Geben Sie {HTTP_USER_AGENT} als Bedingungseingabe und *MSIE* als Musterein. Diese Bedingung überprüft, ob der Client IE verwendet.

    Screenshot der Bedingungseingabe als geschweifte Klammer H T T P Unterstrich USER UNTERSTRICH AGENT geschweifte geschweifte Klammer und Muster als Sternchen M I S E Sternchen.

  11. Fügen Sie eine weitere Bedingung hinzu, um nach der .NET-Version zu suchen. Klicken Sie auf Hinzufügen..., und geben Sie dann {HTTP_USER_AGENT} als Bedingungseingabe und *.NET CLR 3.5* als Muster ein.

    Screenshot einer anderen Bedingung mit

  12. Deaktivieren Sie schließlich das Kontrollkästchen Verarbeitung der nachfolgenden Regeln beenden, und klicken Sie dann auf Anwenden, um die Änderungen zu speichern.

    Screenshot des deaktivierten Beenden der Verarbeitung von nachfolgenden Regeln nach dem Abschnitt

Wie bereits erwähnt, ist die Reihenfolge der Regeln wichtig. Dies liegt daran, dass die URL-Umschreibung die Regeln in der Reihenfolge verarbeitet, wenn die Verarbeitung nachfolgender Regeln beendet wird. In diesem Fall wird also die erste Regel, ARR_pilotSiteServers_loadbalance, zuerst berücksichtigt. Diese Regel versucht zu ermitteln, ob der Client IE verwendet und .NET 3.5 installiert ist. Wenn ja, werden die Anforderungen an die Serverfarm pilotSiteServers weitergeleitet. Da das Kontrollkästchen Verarbeitung der nachfolgenden Regeln beenden deaktiviert ist, verarbeitet es die zweite Regel, ARR_productionSiteServers_loadbalance, die alle verbleibenden Anforderungen an die Serverfarm productionSiteServers weiterleiten wird.

So ändern Sie die URL-Umschreibungsregeln mithilfe der Befehlszeile:

  1. Öffnen Sie eine Eingabeaufforderung mit Administrator-Rechten.

  2. Navigieren Sie zu %windir%\system32\inetsrv.

  3. Wenn Sie die Regel ARR_pilotSiteServers_loadbalance ändern möchten, um in HTTP_USER_AGENT nach IE und .NET 3.5 zu suchen, geben Sie Folgendes ein:

    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*MSIE*']" /commit:apphost
    
    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*.NET CLR 3.5*']" /commit:apphost
    
  4. Um die Auswahl Beenden der Verarbeitung nachfolgender Regeln für ARR_pilotSiteServers_loadbalanceaufzuheben, geben Sie Folgendes ein:

    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /[name='ARR_pilotSiteServers_loadbalance'].stopProcessing:"False"  /commit:apphost
    

Zusammenfassung

Sie haben jetzt die Regeln in URL-Umschreibung und Anwendungsanforderungsrouting genutzt, um nur eine Teilmenge Ihrer Benutzer an die Pilotwebsite weiterzuleiten. Weitere Eigenschaften und Funktionen zum Routing von Anwendungsanforderungen finden Sie unter anderen exemplarischen Vorgehensweisen für das Anwendungsanforderungsrouting.