Realizar la selección de ruta basada en parámetros con Azure Application Gateway: Azure portal
En este artículo se describe cómo utilizar Azure Portal para configurar una instancia de Azure Application Gateway SKU v2 para realizar una selección de rutas basada en parámetros combinando las capacidades de reescritura de URL con el enrutamiento basado en rutas.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Antes de empezar
Debe tener una instancia de SKU de Application Gateway v2 para completar los pasos descritos en este artículo. La reescritura de URL y la reescritura de cabeceras no están soportadas en la SKU v1. Si no tiene la SKU de v2, cree una instancia de SKU de Application Gateway v2 antes de comenzar.
Inicio de sesión en Azure
Inicie sesión en Azure Portal con su cuenta de Azure.
Configurar la selección de ruta basada en parámetros
En este ejemplo, tiene un sitio web de compras. La categoría del producto se pasa como una cadena de consulta en la dirección URL. Para enrutar la solicitud al back-end en función de la cadena de consulta, siga estos pasos.
Cree un mapa de ruta de acceso.
Cree un conjunto de reescritura que tenga tres reglas de reescritura:
La primera regla tiene una condición que comprueba la
query_string
variable paracategory=shoes
. Una acción vuelve a escribir la ruta de acceso de URL a/listing1
. Se habilita la reevaluación del mapa de ruta de acceso.La segunda regla tiene una condición que comprueba la
query_string
variable paracategory=bags
. Una acción vuelve a escribir la ruta de acceso de URL a/listing2
. Se habilita la reevaluación del mapa de ruta de acceso.La tercera regla tiene una condición que comprueba la
query_string
variable paracategory=accessories
. Una acción vuelve a escribir la ruta de acceso de URL a/listing3
. Se habilita la reevaluación del mapa de ruta de acceso.
Asocie este conjunto de reescritura con la ruta de acceso predeterminada de la regla basada en la ruta de acceso anterior.
Si el usuario solicita contoso.com/listing?category=any
, coincide con la ruta de acceso predeterminada porque los patrones de ruta de acceso del mapa de ruta de acceso (/listing1
, /listing2
, /listing3
) no coinciden. Puesto que ha asociado el conjunto de reescritura anterior con esta ruta de acceso, se evalúa este conjunto de reescritura. La cadena de consulta no coincide con la condición en ninguna de las 3 reglas de reescritura de este conjunto de reescritura, por lo que no se realiza ninguna acción de reescritura. La solicitud se enruta sin cambios al back-end asociado a la ruta de acceso predeterminada (que es GenericList
).
Si el usuario solicita contoso.com/listing?category=shoes
, la ruta de acceso predeterminada coincide. En este caso la condición de la primera regla coincide. Se ejecuta la acción asociada a la condición, que vuelve a escribir la ruta de acceso URL a /listing1
y vuelve a evaluar el mapa de ruta de acceso. Cuando se vuelve a evaluar el mapa de ruta de acceso, la solicitud coincide con la ruta de acceso asociada al patrón /listing1
. La solicitud se enruta al back-end asociado a este patrón (ShoesListBackendPool
).
Nota:
Puede ampliar este escenario a cualquier valor de encabezado o cookie, ruta de acceso URL, cadena de consulta o variables de servidor en función de las condiciones definidas. Después, puede enrutar las solicitudes en función de esas condiciones.
Contenido relacionado
Para más información sobre cómo configurar algunos casos de uso comunes, consulte los escenarios de reescritura de encabezado común.