Gestione di programmi pilota con il routing delle richieste di applicazione

di IIS Team

Panoramica

Questo argomento guida il lettore attraverso i passaggi per avviare e gestire programmi pilota o beta usando il routing delle richieste di applicazione. Il routing delle richieste dell'applicazione può essere usato per indirizzare e instradare gli utenti appropriati al sito pilota oppure può essere usato anche per limitare e gestire la quantità di traffico instradato al sito pilota. Questa procedura dettagliata è incentrata sul modo in cui è possibile usare il routing delle richieste dell'applicazione per instradare richieste specifiche al sito pilota in base al profilo dell'utente.

Obiettivo

Per configurare il routing delle richieste di applicazione per gestire e mitigare i rischi relativi all'avvio di un programma pilota.

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 delle applicazioni Microsoft.
  • Almeno quattro server di contenuto con siti e applicazioni funzionanti. Verranno usati due server per simulare il sito di produzione e gli altri due server simulano il sito pilota.
  • Browser alternativo a Microsoft Internet Explorer, ad esempio Firefox, in un computer con .NET 3.5 installato. Questa configurazione viene usata solo a scopo di test.

Seguire i passaggi descritti in questo documento per installare Il routing delle richieste di applicazione.

Un altro prerequisito è che il lettore ha definito e configurato due server farm seguendo i passaggi descritti in Definire e configurare un gruppo di server ARR (Application Request Routing). Una server farm rappresenterà l'ambiente di produzione, mentre l'altra rappresenterà l'ambiente pilota.

Passaggio 1: Modificare le regole di riscrittura url per instradare le richieste in base al profilo dell'utente

In questo passaggio, le regole di riscrittura url vengono modificate in modo che solo gli utenti che hanno installato .NET 3.5 e che usano Microsoft Internet Explorer (IE) vengano indirizzati al sito pilota, definiti come pilotSiteServers. Tutti gli altri vengono indirizzati al sito di produzione, definito come productionSiteServers.

Per modificare le regole di riscrittura url usando l'interfaccia utente:

  1. Avviare Gestione IIS.

  2. Selezionare la server farm, pilotSiteServers.

  3. Vengono visualizzate le icone seguenti:

    Screenshot delle icone nel riquadro della server farm.

  4. Fare doppio clic su Regole di routing.

  5. Poiché questo scenario prevede più server farm con corrispondenza condizionale di intestazioni di richiesta HTTP, le modifiche vengono apportate usando l'interfaccia utente di riscrittura URL che espone opzioni aggiuntive. Fare clic su Riscrittura URL in Routing avanzato.

    Screenshot di U R L Rewrite nella sezione Routing avanzato in Regole di routing.

  6. Si noti che sono già state create due regole, ma devono essere modificate.

    Screenshot del riquadro U R L Rewrite con le regole predefinite predefinite.

  7. L'ordine delle regole è importante in questa procedura dettagliata. Se ARR_productionSiteServers_loadbalance è sopra ARR_pilotServers_loadbalance, è possibile modificare l'ordine delle regole usando Sposta su o Sposta giù dopo aver selezionato la regola.

  8. Selezionare ARR_pilotSite_Servers_loadbalance e quindi fare clic su Modifica nel riquadro Azioni.

    Screenshot del riquadro Modifica regola per Il bilanciamento del carico dei server del sito pilota R R con le impostazioni predefinite selezionate.

  9. I client con Internet Explorer con .NET 3.5 devono essere specificati per passare alla server farm pilotaSiteServers . A tale scopo, aggiungere condizioni. Fare clic su Aggiungi condizioni e quindi su Aggiungi....

    Screenshot di una finestra di dialogo Aggiungi condizioni vuota.

  10. Immettere {HTTP_U edizione Standard R_AGENT} come Input condizione e *MSIE* come modello. Questa condizione verifica se il client usa Internet Explorer.

    Screenshot dell'input della condizione come parentesi graffa H T T P di sottolineatura U edizione Standard R carattere di sottolineatura AGENT curly e asterisco asterisco M I S E asterisco.

  11. Aggiungere un'altra condizione per verificare la versione di .NET. Fare clic su Aggiungi, quindi immettere {HTTP_U edizione Standard R_AGENT} come Input condizione e *.NET CLR 3.5* come modello.

    Screenshot di un'altra condizione con asterisco asterisco dot NET space C L R space 3 dot 5 asterisco.

  12. Infine, deselezionare la casella di controllo Interrompi elaborazione delle regole successive e quindi fare clic su Applica per salvare le modifiche.

    Screenshot dell'opzione Interrompi elaborazione delle regole successive dopo la sezione Proprietà azione.

Come indicato in precedenza, l'ordine delle regole è importante. Ciò è dovuto al fatto che la riscrittura url elabora le regole in ordine quando l'opzione Arresta l'elaborazione delle regole successive non è selezionata. Quindi, in questo caso, la prima regola, ARR_pilotSiteServers_loadbalance, verrà considerata per prima. Questa regola tenta di stabilire se il client usa Internet Explorer e ha installato .NET 3.5. In tal caso, le richieste vengono inoltrate alla server farm pilotSiteServers . Poiché la casella di controllo Interrompi elaborazione delle regole successive è deselezionata, verrà elaborata la seconda regola, ARR_productionSiteServers_loadbalance, che instrada tutte le richieste rimanenti alla server farm productionSiteServers .

Per modificare le regole di riscrittura URL tramite la riga di comando:

  1. Aprire un prompt dei comandi con privilegi di amministratore .

  2. Accedere a %windir%\system32\inetsrv.

  3. Per modificare la regola di ARR_pilotSiteServers_loadbalance per verificare la presenza di Internet Explorer e .NET 3.5 in HTTP_U edizione Standard R_AGENT, immettere:

    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. Per deselezionare Interrompi elaborazione delle regole successive per ARR_pilotSiteServers_loadbalance, immettere:

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

Riepilogo

Le regole nella riscrittura url sono state modificate e sono state sfruttate il routing delle richieste dell'applicazione per instradare solo un subset degli utenti al sito pilota. Per altre proprietà e funzionalità di routing delle richieste di applicazione, vedere altre procedure dettagliate sul routing delle richieste dell'applicazione.