Reescribir los encabezados HTTP de solicitud y respuesta con Azure Application Gateway mediante Azure Portal
En este artículo, se describe cómo usar Azure Portal para configurar una instancia de SKU de Azure Application Gateway v2 para reescribir los encabezados HTTP en las solicitudes y respuestas.
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. No se admite la reescritura de encabezados en la SKU de v1. Si no tiene la SKU de v2, cree una instancia de SKU de Application Gateway v2 antes de comenzar.
Crear los objetos necesarios
Para configurar la reescritura del encabezado HTTP, siga estos pasos.
Cree los objetos necesarios para la reescritura de un encabezado HTTP:
Acción de reescritura: se usa para especificar los campos de solicitud y encabezado de solicitud que se quieren reescribir y el nuevo valor para los encabezados. Puede asociar una o varias condiciones de reescritura con una acción de reescritura.
Condición de reescritura: se trata de una configuración opcional. Las condiciones de reescritura evalúan el contenido de las solicitudes y respuestas HTTP(S). La acción de reescritura se produce si la solicitud o respuesta HTTP(S) coincide con la condición de reescritura.
Si asocia más de una condición con una acción, la acción se produce solo cuando se cumplen todas las condiciones. En otras palabras, se trata de una operación
AND
lógica.Regla de reescritura: contiene varias combinaciones de acción de reescritura y condición de reescritura.
Secuencia de reglas: ayuda a determinar el orden en el que se ejecutan las reglas de reescritura. Esta configuración es útil cuando hay varias reglas de reescritura en un conjunto de reescritura. Una regla de reescritura que tiene un valor de secuencia de reglas más bajo se ejecuta primero. Si asigna el mismo valor de secuencia de reglas a dos reglas de reescritura, el orden de ejecución es no determinista.
Conjunto de reescritura: contiene varias reglas de reescritura que se asociarán con una regla de enrutamiento de solicitudes.
Conecte el conjunto de reescritura a una regla de enrutamiento. La configuración de reescritura se conecta al agente de escucha de origen mediante la regla de enrutamiento.
- Cuando usa una regla de enrutamiento básica, la configuración de reescritura de encabezados se asocia a un agente de escucha de origen y es una reescritura de encabezados global.
- Cuando usa una regla de enrutamiento basada en rutas, la configuración de reescritura de encabezados se define en la asignación de la ruta de URL. En este caso, solo se aplica al área específica de la ruta de acceso de un sitio.
Puede crear varios conjuntos de reescritura de encabezados HTTP y aplicar cada conjunto de reescritura a varios agentes de escucha. Pero solo puede aplicar un conjunto de reescritura a un agente de escucha específico.
Inicio de sesión en Azure
Inicie sesión en Azure Portal con su cuenta de Azure.
Configuración de la reescritura de un encabezado
En este ejemplo, se modifica una dirección URL de redireccionamiento al reescribir el encabezado de ubicación en la respuesta HTTP enviada por una aplicación de back-end.
Seleccione Todos los recursos y seleccione su puerta de enlace de aplicación.
En el panel de servicio, seleccione Reescrituras.
Seleccione Conjunto de reescritura.
Proporcione un nombre para el conjunto de reescritura y asócielo a una regla de enrutamiento:
- En el cuadro Nombre, escriba el nombre del conjunto de reescritura.
- En la lista Reglas de enrutamiento asociadas, seleccione una o varias reglas. Seleccione solo reglas que aún no están asociadas a otros conjuntos de reescritura. Las reglas ya asociadas a otros conjuntos de reescritura están atenuadas.
- Seleccione Siguiente.
Crear una regla de reescritura:
Seleccione Agregar regla de reescritura.
En el cuadro Nombre de regla de reescritura, escriba un nombre para la regla de reescritura. En el cuadro Secuencia de reglas, escriba un número.
En este ejemplo, reescribimos el encabezado de ubicación solo cuando contiene una referencia a
azurewebsites.net
. Para realizar este paso, agregue una condición para evaluar si el encabezado de ubicación de la respuesta contieneazurewebsites.net
:Seleccione Agregar condición y, luego, seleccione el cuadro que contiene las instrucciones If para expandirlo.
En la lista Tipo de variable para comprobar, seleccione Encabezado HTTP.
En la lista Tipo de encabezado, seleccione Respuesta.
En Nombre de encabezado, seleccione Encabezado común. En este ejemplo, evaluamos el encabezado de ubicación, que es un encabezado común.
En la lista Encabezado común, seleccione Ubicación.
En Distingue mayúsculas de minúsculas, seleccione No.
En la lista Operador, seleccione igual (=).
Escriba un patrón de expresión regular. En este ejemplo, se usa el patrón
(https?):\/\/.*azurewebsites.net(.*)$
.Seleccione Aceptar.
Agregar una acción para reescribir el encabezado de ubicación:
- En la lista Tipo de acción, seleccione Conjunto.
- En la lista Tipo de encabezado, seleccione Respuesta.
- En Nombre de encabezado, seleccione Encabezado común.
- En la lista Encabezado común, seleccione Ubicación.
- Escriba el valor de encabezado. En este ejemplo, usamos
{http_resp_Location_1}://contoso.com{http_resp_Location_2}
como valor del encabezado. Este valor reemplazaazurewebsites.net
porcontoso.com
en el encabezado de ubicación. - Seleccione Aceptar.
Seleccione Crear para crear el conjunto de reescritura.
Se abre el panel Reescrituras. Compruebe que el conjunto de reescritura que ha creado esté en la lista de conjuntos de reescritura.
Contenido relacionado
Para obtener más información sobre cómo configurar algunos casos de uso comunes, consulte Escenarios comunes de reescritura de encabezados.