Konfigurieren Sie eine 3-stufige Bereitstellungsarchitektur mit Application Request Routing
von IIS-Team
Übersicht
Dieses Thema führt Sie durch die Schritte zum Konfigurieren einer 3-stufigen Bereitstellungsarchitektur mithilfe des Routings von Anwendungsanforderungen. Die 3-stufige Bereitstellungsarchitektur besteht aus einer Webebene, einer Anwendungsserverebene und einer Datenebene, wie unten dargestellt:
In diesem Bereitstellungsszenario werden statische Inhalte von den Servern der Ebene 1 bereitgestellt, während dynamische Inhalte von der Geschäftslogik auf Servern der Ebene 2 bereitgestellt werden.
Ziel
Konfigurieren Sie eine 3-stufige Bereitstellungsarchitektur mit Routing von Anwendungsanforderungen. In dieser exemplarischen Vorgehensweise geht es darum, wie der ARR-Server so konfiguriert wird, dass statische Inhalte direkt vom ARR-Server bedient werden, während die Anforderungen für dynamische Inhalte an die Anwendungsserver weitergeleitet werden.
Voraussetzungen
Für diese exemplarische Vorgehensweise wird Folgendes vorausgesetzt:
- IIS 7.0 oder höher unter Windows 2008 (beliebige SKU) oder höher
- Microsoft Application Request Routing Version 1 und abhängige Module
- Mindestens zwei Anwendungsserver mit funktionierenden Websites und Anwendungen
- Statischer Inhalt, der auf dem Server für das Routing von Anwendungsanforderungen verfügbar ist
Befolgen Sie die Schritte in diesem Dokument, um Routing von Anwendungsanforderungen zu installieren.
Eine weitere Voraussetzung ist, dass Sie eine Serverfarm definiert und konfiguriert hat, indem Sie die Schritte in Definieren und Konfigurieren einer Servergruppe mit Routing von Anwendungsanforderungen (ARR) befolgen.
Schritt 1 - Ändern der URL-Umschreibungsregeln, um nach statischen Anforderungen zu filtern.
In diesem Schritt werden URL-Umschreibungsregeln geändert, sodass Anforderungen für bestimmte Erweiterungen oder Pfade direkt vom Anwendungsanforderungsroutingserver bereitgestellt werden. Statische Anforderungen können anhand der Dateierweiterungen wie .jpg oder .gif identifiziert werden. Wenn die statischen Ressourcen in bestimmten Ordnern enthalten sind, z. B. /images/, können die URL-Umschreibungsregeln nach dem Pfad in der URL suchen.
In dieser exemplarischen Vorgehensweise ändern Sie die URL-Umschreibungsregeln, um nach .jpg und .css Erweiterungen zusammen mit dem Ordner /images/ zu suchen. Wenn die angeforderte Ressource über eine .jpg oder .css Erweiterung verfügt, wird sie direkt vom ARR-Server bedient. Wenn die angeforderte URL /images/ enthält, wird diese Anforderung ebenfalls vom ARR-Server bedient. Alle anderen Anforderungen werden an Anwendungsserver hinter dem ARR-Server weitergeleitet.
Bevor Sie fortfahren, stellen Sie sicher, dass der statische Inhalt auf dem ARR-Server zur Verfügung steht. Der Inhalt kann entweder lokal auf dem ARR-Server verfügbar gemacht werden oder es können freigegebene Inhalte verwendet werden.
So ändern Sie URL-Umschreibungsregeln mithilfe der Benutzeroberfläche:
- Starten Sie den IIS-Manager.
- Wählen Sie die Serverfarm myServerFarm aus, die in Definieren und Konfigurieren einer Servergruppe mit Routing von Anwendungsanforderungen (ARR) erstellt wurde.
- Die folgenden Symbole werden angezeigt:
- Doppelklicken Sie auf Routingregeln. Geben Sie *.jpg und *.css in das Textfeld Anforderungen mit den folgenden Erweiterungen werden nicht weitergeleitet ein. Die mehrfachen Erweiterungen sind durch Komma (,) getrennt. Geben Sie */image/* in das Textfeld Anforderungen mit den folgenden Mustern werden nicht weitergeleitet, um dem Pfad in der URL zu entsprechen. Das Platzhalterzeichen (*) wird verwendet, um einem beliebigen Zeichen vor und nach dem path /image/ zu entsprechen.
- Überprüfen Sie die Protokolle, um zu überprüfen, ob die statischen Bilder vom ARR-Server bereitgestellt werden. Standardmäßig befinden sich die Protokolle in
c:\inetpub\logs\LogFiles\
. Auf Anwendungsservern hinter dem ARR-Server sollten keine Anforderungen vorhanden sein, die in der Protokolldatei auf *.jpg, *.css oder */images/* verweisen.
So ändern Sie die URL-Umschreibungsregeln mithilfe der Befehlszeile:
Öffnen Sie eine Eingabeaufforderung mit Administratorrechten.
Navigieren Sie zu
%windir%\system32\inetsrv
.Löschen Sie alle URL-Umschreibungsregeln, indem Sie Folgendes eingeben:
appcmd.exe clear config -section:system.webServer/rewrite/globalRules
Um die Routingregeln so zu ändern, dass Anforderungen für Ressourcen mit Erweiterungen *.jpg und *.css und einem Pfad, der */images/* entspricht, nicht an die Anwendungsserver weitergeleitet werden, geben Sie Folgendes ein:
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].match.url:"*" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].conditions. [input='EXT_{URL}',negate='True',pattern='*.jpg']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].conditions. [input='EXT_{URL}',negate='True',pattern='*.css']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].conditions. [input='{URL}',negate='True',pattern='*/images/*']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].action.type:"Rewrite" /[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].action.url:"http://myServerFarm1/{R:0}" /commit:apphost
Zusammenfassung
Sie haben jetzt mithilfe der Anwendungsanforderungsrouting-Benutzeroberfläche die URL-Umschreibungsregeln erfolgreich geändert, um ein Szenario der 3-stufigen Bereitstellungsarchitektur zu aktivieren. Weitere Eigenschaften und Funktionen zum Routing von Anwendungsanforderungen finden Sie in der exemplarischen Vorgehensweise für den HTTP-Lastenausgleich mithilfe von Routing von Anwendungsanforderungen (ARR).
Wenn ARR als Reverseproxy verwendet wird, kann das Szenario weiter verbessert werden, wenn es mit URL Rewrite Version 2 verwendet wird und das Feature zum Umschreiben der Antwortheader und des Entitätstextsverfügt.