Configurare l'architettura di distribuzione a 3 livelli usando il routing delle richieste di applicazione
di IIS Team
Panoramica
Questo argomento illustra i passaggi per configurare un'architettura di distribuzione a 3 livelli usando il routing delle richieste di applicazione. L'architettura di distribuzione a 3 livelli è costituita da un livello Web, un livello server applicazioni e un livello dati, come illustrato di seguito:
In genere in questo scenario di distribuzione, il contenuto statico viene gestito dai server di livello 1, mentre il contenuto dinamico viene gestito dalla logica di business nei server di livello 2.
Obiettivo
Per configurare l'architettura di distribuzione a 3 livelli usando il routing delle richieste di applicazione. In questa procedura dettagliata viene illustrato come configurare il server ARR per gestire il contenuto statico direttamente dal server ARR inoltrando le richieste di contenuto dinamico ai server applicazioni.
Prerequisiti
Questa procedura dettagliata richiede i prerequisiti seguenti:
- IIS 7.0 o versione successiva in Windows 2008 (qualsiasi SKU) o versione successiva
- Moduli dipendenti e versione 1 del routing delle richieste di applicazioni Microsoft
- Minimo due server di contenuto con siti e applicazioni funzionanti
- Contenuto statico disponibile nel server di routing delle richieste dell'applicazione
Seguire i passaggi descritti in questo documento per installare Il routing delle richieste di applicazione.
Come altro prerequisito, è necessario avere definito e configurato una server farm seguendo i passaggi descritti in Definire e configurare un gruppo di server ARR (Application Request Routing).
Passaggio 1: Modificare le regole di riscrittura URL per filtrare le richieste statiche.
In questo passaggio, le regole di riscrittura URL vengono modificate in modo che le richieste per determinate estensioni o percorsi vengano gestite direttamente dal server di routing delle richieste dell'applicazione. Le richieste statiche possono essere identificate esaminando le estensioni di file, ad esempio .jpg o .gif. Se le risorse statiche sono contenute in determinate cartelle, ad esempio /images/, le regole di riscrittura URL possono cercare il percorso nell'URL.
In questa procedura dettagliata si modificheranno le regole di riscrittura URL per cercare .jpg e .css estensioni, insieme alla cartella /images/. Se la risorsa richiesta ha un'estensione .jpg o .css, verrà servita direttamente dal server ARR. Analogamente, se l'URL richiesto contiene /images/, questa richiesta verrà servita dal server ARR. Tutte le altre richieste verranno inoltrate ai server applicazioni dietro il server ARR.
Prima di procedere, assicurarsi che il contenuto statico sia disponibile nel server ARR da gestire. Il contenuto può essere reso disponibile localmente nel server ARR o nel contenuto condiviso.
Per modificare le regole di riscrittura url usando l'interfaccia utente:
- Avviare Gestione IIS.
- Selezionare la server farm myServerFarm creata in Definire e configurare un gruppo di server ARR (Application Request Routing).
- Vengono visualizzate le icone seguenti:
- Fare doppio clic su Regole di routing. Digitare *.jpg e *.css nella casella di testo Richieste con le estensioni seguenti. Le estensioni multiple sono separate da virgole (,). Per trovare la corrispondenza con il percorso nell'URL, digitare */image/* nella casella di testo Richieste con i modelli seguenti. Il carattere jolly (*) viene usato per trovare la corrispondenza con qualsiasi carattere prima e dopo il percorso /image/.
- Per verificare che le immagini statiche vengano gestite dal server ARR, esaminare i log. Per impostazione predefinita, i log sono in
c:\inetpub\logs\LogFiles\
. Nei server applicazioni dietro il server ARR non devono essere presenti richieste che fanno riferimento a *.jpg, *.css o */images/* nel file di log.
Per modificare le regole di riscrittura URL tramite la riga di comando:
Aprire un prompt dei comandi con privilegi di amministratore.
Accedere a
%windir%\system32\inetsrv
.Cancellare tutte le regole di riscrittura URL immettendo:
appcmd.exe clear config -section:system.webServer/rewrite/globalRules
Per modificare le regole di routing in modo che le richieste di risorse con estensioni *.jpg e *.css e un percorso corrispondente a */images/* non vengano inoltrate ai server applicazioni, immettere:
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
Riepilogo
Le regole di riscrittura url sono state modificate correttamente usando l'interfaccia utente di routing delle richieste di applicazione per abilitare uno scenario di architettura di distribuzione a 3 livelli. Per altre proprietà e funzionalità di routing delle richieste dell'applicazione, vedere la procedura dettagliata sul bilanciamento del carico HTTP tramite application request routing (ARR).
Quando si usa ARR come proxy inverso, lo scenario può essere ulteriormente migliorato quando viene usato con URL Riscrivere la versione 2 che ha la funzionalità per riscrivere le intestazioni della risposta e il corpo dell'entità.