Freigeben über


Pilotprogrammverwaltung mit Anwendungsanforderungsrouting

von IIS-Team

Übersicht

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

Ziel

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

Voraussetzungen

Für diese Anleitung sind folgende Voraussetzungen erforderlich:

  • IIS 7.0 oder höher auf Windows 2008 (jede SKU) oder neuer.
  • Microsoft Application Request Routing Version 1 und abhängige Module.
  • Mindestens vier Inhaltsserver mit Arbeitswebsites und Anwendungen. Zwei Server werden verwendet, um den Produktionsstandort zu simulieren, und die anderen beiden Server simulieren den Pilotstandort.
  • 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 anwendungsanforderungsrouting zu installieren.

Eine weitere Voraussetzung ist, dass der Leser zwei Serverfarmen definiert und konfiguriert hat, indem er die in der Servergruppe "Define and Configure an Application Request Routing(ARR)" beschriebenen Schritte ausführt. Eine Serverfarm stellt die Produktionsumgebung dar, während die andere die Pilotumgebung darstellt.

Schritt 1 – Ändern der URL-Neuschreibregeln 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 pilotSiteServer definiert ist. Alle anderen werden an den Produktionsstandort weitergeleitet, der als "productionSiteServers" definiert ist.

So ändern Sie die URL-Neuschreibungsregeln 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-Neuschreibbenutzeroberfläche vorgenommen, die zusätzliche Optionen verfügbar macht. Klicken Sie unter "Erweitertes Routing" auf "URL neu schreiben".

    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 Anleitung. Wenn ARR_productionSiteServers_loadbalance über ARR_pilotServers_loadbalance liegt, können Sie die Reihenfolge der Regeln ändern, indem Sie nach dem Auswählen der Regel nach oben oder nach unten wechseln .

  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 und .NET 3.5 sollten festgelegt 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 Muster ein. Diese Bedingung überprüft, ob der Client IE verwendet.

    Screenshot der Bedingungseingabe als geschweifte Klammer H T T P underscore USER underscore AGENT geschweifte Klammer und Muster als Asterisk M I S E Asterisk.

  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 Muster als Sternchen

  12. Deaktivieren Sie schließlich das Kontrollkästchen " Verarbeitung der nachfolgenden Regeln beenden ", und klicken Sie dann auf "Übernehmen" , 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-Neuschreibung die Regeln in der Reihenfolge verarbeitet, wenn Verarbeitung nachfolgender Regeln stoppen nicht ausgewählt ist. 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 ProductionSiteServers-Serverfarm weiterleiten wird.

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

  1. Öffnen Sie eine Eingabeaufforderung mit Administratorrechten .

  2. Navigiere zu %windir%\system32\inetsrv.

  3. Wenn Sie die ARR_pilotSiteServers_loadbalance Regel ä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 Option Verarbeitung nachfolgender Regeln stoppen für ARR_pilotSiteServers_loadbalance abzuwählen, 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 erfolgreich die Regeln für die URL-Umschreibung geändert und das Application Request Routing genutzt, um lediglich einen Teil Ihrer Benutzer zur Pilot-Website weiterzuleiten. Weitere Eigenschaften und Funktionen von Application Request Routing finden Sie in anderen Application Request Routing Anleitungen.