Administración piloto de programas mediante el enrutamiento de solicitud de aplicaciones

por el equipo de IIS

Información general

En este tema se guía al lector a través de los pasos para iniciar y administrar programas piloto o beta mediante el enrutamiento de solicitud de aplicaciones. El enrutamiento de solicitud de aplicaciones se puede usar para dirigir y enrutar a los usuarios adecuados al sitio piloto, o también se puede usar para limitar y administrar la cantidad de tráfico que se enruta al sitio piloto. Este tutorial se centra en cómo se puede usar el enrutamiento de solicitud de aplicaciones para enrutar solicitudes específicas al sitio piloto en función del perfil del usuario.

Objetivo

Configurar el enrutamiento de solicitud de aplicaciones para administrar y mitigar los riesgos relacionados con la ejecución de un programa piloto.

Requisitos previos

Este tutorial requiere los siguientes requisitos previos:

  • IIS 7.0 o posterior en Windows 2008 (cualquier SKU) o más reciente.
  • Versión 1 del Enrutamiento de solicitud de aplicaciones de Microsoft y módulos dependientes.
  • Un mínimo de cuatro servidores de contenido con sitios y aplicaciones en funcionamiento. Se usarán dos servidores para simular el sitio de producción y los otros dos servidores simularán el sitio piloto.
  • Explorador alternativo a Microsoft Internet Explorer, como Firefox, en un equipo con .NET 3.5 instalado. (Esta configuración solo se usa con fines de prueba).

Siga los pasos descritos en este documento para instalar el Enrutamiento de solicitud de aplicaciones.

Otro requisito previo es que el lector haya definido y configurado dos granjas de servidores siguiendo los pasos descritos en Definición y configuración de un grupo de servidores de Enrutamiento de solicitud de aplicaciones (ARR). Una granja de servidores representará el entorno de producción, mientras que la otra representará el entorno piloto.

Paso 1: Cambio de las reglas de reescritura de direcciones URL para enrutar las solicitudes en función del perfil del usuario

En este paso, las reglas de reescritura de direcciones URL se cambian para que solo los usuarios que hayan instalado .NET 3.5 y que usen Microsoft Internet Explorer (IE) se enruten al sitio piloto, definidos como pilotSiteServers. Todos los demás se enrutan al sitio de producción, definido como productionSiteServers.

Para cambiar las reglas de reescritura de direcciones URL mediante la interfaz de usuario:

  1. Inicie el Administrador de IIS.

  2. Seleccione la granja de servidores pilotSiteServers.

  3. Se muestran los iconos siguientes:

    Captura de pantalla de los iconos en el panel de la granja de servidores.

  4. Haga doble clic en Reglas de enrutamiento.

  5. Dado que este escenario implica varias granjas de servidores con coincidencia condicional de encabezados de solicitud HTTP, los cambios se realizan mediante la interfaz de usuario de reescritura de direcciones URL que expone opciones adicionales. Haga clic en URL Rewrite (Reescritura de URL) en Advanced Routing (Enrutamiento avanzado).

    Captura de pantalla de la reescritura de U R L en la sección Enrutamiento avanzado de Reglas de enrutamiento.

  6. Tenga en cuenta que ya se han creado dos reglas, pero hay que cambiarlas.

    Captura de pantalla del panel De reescritura de U R L con reglas predeterminadas preestablecidas.

  7. El orden de las reglas es importante en este tutorial. Si ARR_productionSiteServers_loadbalance está por encima de ARR_pilotServers_loadbalance, puede cambiar el orden de las reglas mediante Move Up (Subir) o Move Down (Bajar) después de seleccionar la regla.

  8. Seleccione ARR_pilotSite_Servers_loadbalance y haga clic en Editar... en el panel Acciones.

    Captura de pantalla del panel Editar regla de A R R piloto Servidores de sitio equilibrio de carga con la configuración predeterminada seleccionada.

  9. En los clientes con IE con .NET 3.5, se debe especificar para que vayan a la granja de servidores pilotSiteServers. Para ello, agregue condiciones. Haga clic en Add Conditions y, a continuación, haga clic en Agregar....

    Captura de pantalla de un cuadro de diálogo Agregar condiciones vacío.

  10. Introduzca {HTTP_USER_AGENT} como Condition input (Entrada de condición) y *MSIE* como Pattern (Patrón). Esta condición comprueba si el cliente usa IE.

    Captura de pantalla de la entrada condición como llave de llave H T T T P de subrayado DE SUBRAYADO DEL AGENTE de subrayado DEL USUARIO y patrón como asterisco M I S E asterisco.

  11. Agregue otra condición para comprobar la versión de .NET. Haga clic en Agregar..., y, a continuación, escriba {HTTP_USER_AGENT} como Condition input (Entrada de condición) y *.NET CLR 3.5* como Pattern (Patrón).

    Captura de pantalla de otra condición con Pattern as asterisco dot NET space C L R space 3 dot 5 asterisco.

  12. Por último, desactive la casilla Stop processing of subsequent rules (Detener el procesamiento de reglas posteriores) y, a continuación, haga clic en Aplicar para guardar los cambios.

    Captura de pantalla de la opción Detener procesamiento de reglas posteriores después de la sección Propiedades de acción.

Como se indicó anteriormente, el orden de las normas es importante. Esto se debe a que la reescritura de direcciones URL procesa las reglas en orden cuando Stop processing of subsequent rules (Detener el procesamiento de reglas posteriores) no está seleccionado. Por lo tanto, en este caso, la primera regla, ARR_pilotSiteServers_loadbalance, se considerará primero. Esta regla intenta hacer coincidir si el cliente usa IE y tiene instalado .NET 3.5. Si es así, las solicitudes se reenvían a la granja de servidores pilotSiteServers. Dado que la casilla Stop processing of subsequent rules (Detener el procesamiento de reglas posteriores) está desactivada, procesará la segunda regla, ARR_productionSiteServers_loadbalance, que enrutará todas las solicitudes restantes a la granja de servidores productionSiteServers.

Para cambiar las reglas de reescritura de direcciones URL mediante la línea de comandos:

  1. Abra un símbolo del sistema con privilegios de administrador.

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

  3. Para cambiar la regla ARR_pilotSiteServers_loadbalance para que compruebe si se utiliza IE y .NET 3.5 en HTTP_USER_AGENT, escriba:

    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. Para anular la selección de Stop processing of subsequent rules (Detener el procesamiento de reglas posteriores) para ARR_pilotSiteServers_loadbalance, escriba:

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

Resumen

Ha cambiado correctamente las reglas de reescritura de direcciones URL y ha aprovechado el Enrutamiento de solicitud de aplicaciones para enrutar solo un subconjunto de los usuarios al sitio piloto. Para obtener más propiedades y funcionalidades de Enrutamiento de solicitud de aplicaciones, consulte otros tutoriales de Enrutamiento de solicitud de aplicaciones.