Reescribir los encabezados HTTP de solicitud y respuesta con Azure Application Gateway mediante Azure Portal

En este artículo se describe cómo usar el Azure Portal para configurar una instancia de SKU de 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 la 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 de encabezados HTTP, es preciso completar estos pasos.

  1. Cree los objetos necesarios para la reescritura de encabezados 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 tendrá lugar si la solicitud o respuesta HTTP(S) coinciden 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.

  2. 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 encabezados

En este ejemplo, se modificará 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.

  1. Seleccione Todos los recursos y seleccione su puerta de enlace de aplicación.

  2. Seleccione Reescrituras en el panel izquierdo.

  3. Seleccione Conjunto de reescritura:

    Add rewrite set

  4. Proporcione un nombre para el conjunto de reescritura y asócielo a una regla de enrutamiento:

    • Escriba el nombre del conjunto de reescritura en el cuadro Nombre.

    • Seleccione una o varias de las reglas enumeradas en la lista Reglas de enrutamiento asociadas. Puede seleccionar solo las reglas que no han asociado con otros conjuntos de reescritura. Las reglas que se han asociado con otros conjuntos de reescritura aparecen atenuadas.

    • Seleccione Siguiente.

      Add name and association

  5. Crear una regla de reescritura:

    • Seleccione Agregar regla de reescritura.

      Add rewrite rule

    • Escriba un nombre para la regla de reescritura en el cuadro Nombre de la regla de reescritura. Escriba un número en el cuadro Secuencia de reglas.

      Add rewrite rule name

  6. En este ejemplo, vamos a reescribir el encabezado de ubicación solo cuando contenga una referencia a azurewebsites.net. Para ello, agregue una condición para evaluar si el encabezado de ubicación en la respuesta contiene azurewebsites.net:

    • Seleccione Agregar condición y, luego, seleccione el cuadro que contiene las instrucciones If para expandirlo.

      Add a condition

    • En la lista Tipo de variable para comprobar, seleccione Encabezado HTTP.

    • En la lista Tipo de encabezado, seleccione Respuesta.

    • Dado que en este ejemplo se evalúa el encabezado de ubicación, que es un encabezado común, seleccione Encabezado común en Nombre de encabezado.

    • 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 usará el patrón (https?):\/\/.*azurewebsites.net(.*)$.

    • Seleccione Aceptar.

      Configure an If condition

  7. 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, vamos a usar {http_resp_Location_1}://contoso.com{http_resp_Location_2} como valor del encabezado. Este valor reemplazará azurewebsites.net con contoso.com en el encabezado de ubicación.

    • Seleccione Aceptar.

      Add an action

  8. Seleccione Crear para crear el conjunto de reescritura:

    Select Create

  9. Se abrirá la vista de Conjunto de reescritura. Verifique que el conjunto de reescritura que ha creado está en la lista de conjuntos de reescritura:

    Rewrite set view

Pasos siguientes

Para más información sobre cómo configurar algunos casos de uso comunes, consulte los escenarios de reescritura de encabezado común.