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:
Starten Sie den IIS-Manager.
Wählen Sie die Serverfarm, pilotSiteServers.
Die folgenden Symbole werden angezeigt:
Doppelklicken Sie auf Routingregeln.
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.
Beachten Sie, dass bereits zwei Regeln erstellt wurden, aber sie müssen geändert werden.
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.
Wählen Sie ARR_pilotSite_Servers_loadbalance aus, und klicken Sie dann im Bereich Aktionen auf Bearbeiten.
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....
Geben Sie {HTTP_USER_AGENT} als Bedingungseingabe und *MSIE* als Musterein. Diese Bedingung überprüft, ob der Client IE verwendet.
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.
Deaktivieren Sie schließlich das Kontrollkästchen Verarbeitung der nachfolgenden Regeln beenden, und klicken Sie dann auf Anwenden, um die Änderungen zu speichern.
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:
Öffnen Sie eine Eingabeaufforderung mit Administrator-Rechten.
Navigieren Sie zu
%windir%\system32\inetsrv
.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
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.