Acciones de reglas de Azure Front Door

Un conjunto de reglas de Azure Front Door consta de reglas con una combinación de condiciones y acciones de coincidencia. En este artículo se proporciona una descripción detallada de las acciones que puede utilizar en un conjunto de reglas de Azure Front Door. Una acción define el comportamiento que se aplica a un tipo de solicitud que identifica una o más condiciones de coincidencia. En un conjunto de reglas de Azure Front Door, una regla puede contener hasta cinco acciones.

Azure Front Door admite la variable de servidor en una acción de conjunto de reglas.

Las siguientes acciones están disponibles para su uso en el conjunto de reglas de Azure Front Door:

Invalidación de la configuración de enrutamiento

Use la acción de invalidación de configuración de ruta para invalidar el grupo de origen o la configuración de almacenamiento en caché que se usará para la solicitud. Puede optar por invalidar o respetar las configuraciones de grupo de origen especificadas en la ruta. Sin embargo, siempre que invalide la configuración de ruta, debe configurar el almacenamiento en caché. De lo contrario, el almacenamiento en caché se deshabilitará para la solicitud.

También puede invalidar cómo se almacenan en caché los archivos para solicitudes específicas, como:

  • Invalidación del comportamiento de almacenamiento en caché especificado por el origen.
  • Cómo se usan los parámetros de cadena de consulta para generar la clave de caché de la solicitud.
  • El valor de período de vida (TTL) para controlar cuánto tiempo permanece en caché el contenido.

Propiedades

Propiedad Valores admitidos
Invalidación de grupo de origen
  • Sí: Invalidar el grupo de origen utilizado para la solicitud.
  • No: Usar el grupo de origen especificado en la ruta.
Almacenamiento en memoria caché
  • Habilitado: Forzar la habilitación del almacenamiento en caché para la solicitud.
  • Deshabilitado: Forzar la deshabilitación del almacenamiento en caché para la solicitud.

Cuando Override origin group (Invalidar grupo de origen) está establecido en , establezca las propiedades siguientes:

Propiedad Valores admitidos
Origin group (Grupo de orígenes) Grupo de origen al que se debe enrutar la solicitud. Se invalida la configuración especificada en la ruta del punto de conexión de Front Door.
Protocolo de reenvío El protocolo que usará Front Door al reenviar la solicitud al origen. Los valores admitidos son solo HTTP, solo HTTPS y Coincidir solicitud entrante. Se invalida la configuración especificada en la ruta del punto de conexión de Front Door.

Cuando el almacenamiento en caché se establece en Habilitado, establezca las siguientes propiedades:

Propiedad Valores admitidos
Comportamiento del almacenamiento en caché de cadenas de consulta
  • Ignorar cadenas de consulta: Las cadenas de consulta no se tienen en cuenta cuando se genera la clave de caché. En plantillas de ARM, establezca la propiedad queryStringCachingBehavior en IgnoreQueryString.
  • Usar cadena de consulta: Cada dirección URL única tiene su propia clave de caché. En plantillas de ARM, use el queryStringCachingBehavior de UseQueryString.
  • Ignorar la cadena de consulta especificada: Las cadenas de consulta especificadas en los parámetros se excluyen cuando se genera la clave de caché. En plantillas de ARM, establezca la propiedad queryStringCachingBehavior en IgnoreSpecifiedQueryStrings.
  • Incluir la cadena de consulta especificada: Las cadenas de consulta especificadas en los parámetros se incluyen cuando se genera la clave de caché. En plantillas de ARM, establezca la propiedad queryStringBehavior en IncludeSpecifiedQueryStrings.
Parámetros de consulta La lista de nombres de parámetro de cadena de consulta, separados por comas. Esta propiedad solo se establece cuando el comportamiento de almacenamiento en caché de cadenas de consulta se establece en Ignore Specified Query Strings (Omitir cadenas de consulta especificadas) o Include Specified Query Strings (Incluir cadenas de consulta especificadas).
Compresión
  • Habilitado: Front Door comprime dinámicamente el contenido en el borde, lo que genera una respuesta más pequeña y rápida. Para más información, consulte Compresión de archivo. En plantillas de ARM, establezca la propiedad isCompressionEnabled en Enabled.
  • Deshabilitado. Front Door no hace la compresión. En plantillas de ARM, establezca la propiedad isCompressionEnabled en Disabled.
Comportamiento de la caché
  • Respetar el origen: Front Door siempre respetará la directiva de encabezado de respuesta de origen. Si falta la directiva de origen, Front Door almacena en caché el contenido entre uno y tres días. En plantillas de ARM, establezca la propiedad cacheBehavior en HonorOrigin.
  • Invalidar siempre: El valor de TTL devuelto por el origen se sobrescribe con el valor especificado en la acción. Este comportamiento solo se aplicará si la respuesta se puede almacenar en caché. En plantillas de ARM, establezca la propiedad cacheBehavior en OverrideAlways.
  • Invalidar si falta el origen: Si el origen no devuelve ningún valor de TTL, la regla establece el TTL en el valor especificado en la acción. Este comportamiento solo se aplicará si la respuesta se puede almacenar en caché. En plantillas de ARM, establezca la propiedad cacheBehavior en OverrideIfOriginMissing.
Duración de la caché Cuando el comportamiento de la Memoria caché se establece en Override always o Override if origin missing, estos campos deben especificar la duración de la caché que se va a usar. La duración máxima es 366 días. Para un valor de 0 segundos, la red CDN almacena en caché el contenido, pero debe volver a validar cada solicitud con el servidor de origen. Esta propiedad solo se establece cuando el comportamiento de caché se establece en Invalidar siempre o Invalidar si falta el origen.
  • En el Azure Portal: especifique los días, las horas, los minutos y los segundos.
  • En plantillas de ARM: use el cacheDuration para especificar la duración en el formato d.hh:mm:ss.

Ejemplos

En este ejemplo, se enrutan todas las solicitudes coincidentes a un grupo de origen denominado MyOriginGroup, independientemente de la configuración de la ruta del punto de conexión de Front Door.

Captura de pantalla del portal que muestra la acción de invalidación del grupo de origen.

En este ejemplo, se establece la clave de caché para incluir un parámetro de cadena de consulta denominado customerId. La compresión está habilitada y se respetan las directivas de almacenamiento en caché del origen.

Captura de pantalla del portal que muestra la acción de cadena de consulta de clave de caché.

En este ejemplo, se invalida la expiración de la memoria caché en 6 horas para las solicitudes coincidentes que ya no especifican una duración de caché. Front Door omite la cadena de consulta cuando determina la clave de caché y la compresión está habilitada.

Captura de pantalla del portal que muestra la acción de expiración de la caché.

Modificación del encabezado de solicitud

Use la acción modificar encabezado de solicitud para modificar los encabezados de la solicitud cuando se envíe a su origen.

Propiedades

Propiedad Valores admitidos
Operator
  • Anexar: El encabezado especificado se agrega a la solicitud con el valor indicado. Si el encabezado ya está presente, el valor se anexa al valor de encabezado existente mediante la concatenación de cadenas. No se agrega ningún delimitador. En plantillas de ARM, use el headerAction de Append.
  • Sobrescribir: El encabezado especificado se agrega a la solicitud con el valor indicado. Si el encabezado ya está presente, el valor especificado sobrescribe el valor existente. En plantillas de ARM, use el headerAction de Overwrite.
  • Eliminar: Si el encabezado especificado en la regla existe, se elimina de la solicitud. En plantillas de ARM, use el headerAction de Delete.
Nombre de encabezado Nombre del encabezado que se va a modificar.
Valor de encabezado Valor que se va a anexar o sobrescribir.

Ejemplo

En este ejemplo, se anexa el valor AdditionalValue al encabezado de la solicitud MyRequestHeader. Si el origen establece el encabezado de respuesta en un valor de ValueSetByClient, después de aplicar esta acción, el encabezado de solicitud tendría un valor de ValueSetByClientAdditionalValue.

Captura de pantalla del portal que muestra la acción modificar encabezado de solicitud.

Modificación del encabezado de respuesta

Use la acción modificar encabezado de respuesta para modificar los encabezados que están presentes en las respuestas antes de que se devuelvan a los clientes.

Propiedades

Propiedad Valores admitidos
Operator
  • Anexar: El encabezado especificado se agrega a la respuesta con el valor indicado. Si el encabezado ya está presente, el valor se anexa al valor de encabezado existente mediante la concatenación de cadenas. No se agrega ningún delimitador. En plantillas de ARM, use el headerAction de Append.
  • Sobreescribir: El encabezado especificado se agrega a la respuesta con el valor indicado. Si el encabezado ya está presente, el valor especificado sobrescribe el valor existente. En plantillas de ARM, use el headerAction de Overwrite.
  • Eliminar: Si el encabezado especificado en la regla existe, se elimina de la respuesta. En plantillas de ARM, use el headerAction de Delete.
Nombre de encabezado Nombre del encabezado que se va a modificar.
Valor de encabezado Valor que se va a anexar o sobrescribir.

Ejemplo

En este ejemplo, se elimina el encabezado con el nombre X-Powered-By de las respuestas antes de que se devuelvan al cliente.

Captura de pantalla del portal que muestra la acción modificar encabezado de respuesta.

Redirección de direcciones URL

Use la acción de redireccionamiento de dirección URL para redirigir a los clientes a una nueva dirección URL. A los clientes se les envía una respuesta de redirección de Front Door.

Propiedades

Propiedad Valores admitidos
Tipo de redireccionamiento El tipo de respuesta que se devuelve al solicitante.
  • En el Azure Portal: Found (302), Moved (301), Temporary Redirect (307), Permanent Redirect (308).
  • En las plantillas de ARM: Found, Moved, TemporaryRedirect y PermanentRedirect
Protocolo de redireccionamiento
  • En Azure Portal: Match Request, HTTP y HTTPS
  • En las plantillas de ARM: MatchRequest, Http y Https
Host de destino El nombre de host al que desea que se redirija la solicitud. Déjelo en blanco para conservar el host entrante.
Ruta de acceso de destino La ruta de acceso que se va a usar en la redirección. Incluya el interlineado /. Déjelo en blanco para conservar la ruta de acceso entrante.
Cadena de consulta Defina la cadena de consulta utilizada en la redirección. No incluya el interlineado ?. Déjelo en blanco para conservar la cadena de consulta entrante.
Fragmento de destino El fragmento que se va a usar en la redirección. Déjelo en blanco para conservar el fragmento entrante.

Ejemplo

En este ejemplo, se redirige la solicitud a https://contoso.com/exampleredirection?clientIp={client_ip}, a la vez que se conserva el fragmento. Se utiliza una redirección temporal HTTP (307). La dirección IP del cliente se usa en lugar del token {client_ip} en la dirección URL mediante la client_ipvariable de servidor.

Captura de pantalla del portal que muestra la acción de redireccionamiento de URL.

Reescritura de direcciones URL

Use la acción reescritura de URL para reescribir la ruta de acceso de una solicitud en camino hacia el origen.

Propiedades

Propiedad Valores admitidos
Patrón de origen Defina el patrón de origen en la ruta de acceso URL que se va a reemplazar. Actualmente, el patrón de origen usa una coincidencia basada en el prefijo. Para una coincidencia con todas las ruta de acceso de las direcciones URL, use una barra (/) como valor de patrón de origen.
Destination Defina la ruta de acceso de destino que se va a usar en la reescritura. La ruta de acceso de destino sobrescribe el patrón de origen.
Conservar la ruta de acceso sin coincidencia Si se establece en , el resto de la ruta de acceso después del patrón de origen se anexa a la nueva ruta de acceso de destino.

Ejemplo

En este ejemplo, se reescriben todas las solicitudes en la ruta de acceso /redirection y no se conserva el resto de la ruta de acceso.

Captura de pantalla del portal que muestra la acción de reescritura de URL.

En Azure Front Door (clásico), un motor de reglas puede constar de hasta 25 reglas que contienen condiciones de coincidencia y acciones asociadas. En este artículo se proporciona una descripción detallada de las acciones que puede definir en una regla.

Una acción define el comportamiento que se aplica al tipo de solicitud que identifica una condición o conjunto de condiciones de coincidencia. En la configuración del motor de reglas, una regla puede tener hasta 10 condiciones de coincidencia y 5 acciones. Solo puede tener una acción Invalidar configuración de enrutamiento en una sola regla.

Las siguientes acciones están disponibles para su uso en la configuración del motor de reglas.

Modificación del encabezado de solicitud

Use estas acciones para modificar los encabezados presentes en las solicitudes enviadas a su back-end.

Campos obligatorios

Acción Nombre del encabezado HTTP Value
Append Cuando esta opción está seleccionada y la regla coincide, el encabezado especificado en Nombre del encabezado se agrega a la solicitud con el valor especificado. Si el encabezado ya está presente, este valor se anexa al valor existente. String
Sobrescribir Cuando esta opción está seleccionada y la regla coincide, el encabezado especificado en Nombre del encabezado se agrega a la solicitud con el valor especificado. Si el encabezado ya está presente, el valor especificado sobrescribe el valor existente. String
Eliminar Cuando esta opción está seleccionada con la reglas que coinciden y está presente el encabezado especificado en la regla, este se elimina de la solicitud. String

Modificación del encabezado de respuesta

Use estas acciones para modificar los encabezados presentes en las respuestas devueltas a los clientes.

Campos obligatorios

Acción Nombre del encabezado HTTP Value
Append Cuando esta opción se selecciona y la regla coincide, el encabezado especificado en Nombre del encabezado se agrega a la respuesta con el Valor especificado. Si el encabezado ya está presente, el Valor se anexa al valor existente. String
Sobrescribir Cuando esta opción está seleccionada y la regla coincide, el encabezado especificado en Nombre del encabezado se agrega a la respuesta con el Valor especificado. Si el encabezado ya está presente, el Valor sobrescribe el valor existente. String
Eliminar Cuando esta opción está seleccionada con la reglas que coinciden y está presente el encabezado especificado en la regla, este se elimina de la respuesta. String

Invalidaciones de las configuraciones de enrutamiento

Tipo de enrutamiento: Redirect

Use estas acciones para redirigir a los clientes a una nueva dirección URL.

Campos obligatorios

Campo Descripción
Tipo de redireccionamiento La redirección es una manera de enviar usuarios o clientes de una dirección URL a otra. Un tipo de redirección establece el código de estado utilizado por los clientes para entender el propósito de la redirección.

Puede seleccionar los siguientes códigos de estado de redirección: Encontrado (302), Movido (301), Redireccionamiento temporal (307) y Redireccionamiento permanente (308).
Protocolo de redireccionamiento Conserve el protocolo según la solicitud entrante o defina un nuevo protocolo para el redireccionamiento. Por ejemplo, seleccione "HTTPS" para el redireccionamiento de HTTP a HTTPS.
Host de destino Establezca esta opción para cambiar el nombre de host en la dirección URL para el redireccionamiento o para retener el nombre de host de la solicitud entrante.
Ruta de acceso de destino Retenga la ruta de acceso de acuerdo con cada solicitud entrante, o actualice la ruta de acceso de la dirección URL para el redireccionamiento.
Cadena de consulta Establezca esta opción para reemplazar cualquier cadena de consulta existente de la dirección URL de solicitud entrante o para retener el conjunto original de cadenas de consulta.
Fragmento de destino El fragmento de destino es la parte de la dirección URL tras "#", normalmente los exploradores lo usan para aterrizar en una sección en concreto de una página. Establezca este campo para agregar un fragmento a la dirección URL de redireccionamiento.

Tipo de enrutamiento: Adelante

Use estas acciones para desviar a los clientes a una nueva dirección URL. Estas acciones también contienen subacciones para la reescritura de direcciones URL y almacenamiento en caché.

Campo Descripción
Grupo back-end Seleccione el grupo de back-end para invalidarse y atender las solicitudes; así, también se mostrarán todos los grupos de back-end configurados previamente en el perfil de Front Door.
Protocolo de reenvío Protocolo que se usa para reenviar la solicitud al back-end o buscar la coincidencia del protocolo de la solicitud entrante.
Reescritura de URL Ruta de acceso que se usará al construir la solicitud de reescritura de direcciones URL para reenviar al back-end.
Almacenamiento en memoria caché Habilite el almacenamiento en caché para esta regla de enrutamiento. Cuando se habilita, Azure Front Door almacenará en caché el contenido estático.

Reescritura de direcciones URL

Use esta configuración para configurar una ruta de acceso de reenvío personalizada opcional que se usará al construir la solicitud para reenviar al back-end.

Campo Descripción
Ruta de acceso de reenvío personalizada Defina una ruta de acceso a la que se desviarán las solicitudes.

Almacenamiento en memoria caché

Use esta configuración para controlar cómo se almacenan en caché los archivos para las solicitudes que contienen cadenas de consulta. Si se va a almacenar en caché el contenido en función de todos los parámetros o de los parámetros seleccionados. Puede usar valores adicionales para sobrescribir el valor de período de vida (TTL) y controlar cuánto tiempo permanece en caché el contenido. Para forzar el almacenamiento en caché como una acción, establezca el campo correspondiente en "Habilitado". Al forzar el almacenamiento en caché, aparecen las siguientes opciones:

Comportamiento de la caché Descripción
Pasar por alto las cadenas de consulta Una vez almacenado en caché el recurso, todas las solicitudes posteriores ignorarán las cadenas de consulta hasta que expire el recurso almacenado en caché.
Almacenar en caché todas las URL únicas Cada solicitud con una URL única, incluida la cadena de consulta, se trata como un recurso único con su propia memoria caché.
Omitir las cadenas de consulta especificadas Las cadenas de consulta de la dirección URL de solicitud que aparecen en el valor "Parámetros de la consulta" se omiten para el almacenamiento en caché.
Incluir las cadenas de consulta especificadas Las cadenas de consulta de la dirección URL de solicitud que aparecen en el valor "Parámetros de la consulta" se usan para el almacenamiento en caché.
Campos adicionales Descripción
Compresión dinámica Front Door puede comprimir dinámicamente el contenido en el borde, lo que genera una respuesta más pequeña y rápida.
Parámetros de consulta Lista separada por comas de parámetros permitidos o no permitidos que se pueden usar como base para el almacenamiento en caché.
Usar duración de caché predeterminada Establezca el uso de la duración predeterminada de la caché de Azure Front Door o defina una duración de almacenamiento en caché que ignore la directiva de respuesta de origen.

Pasos siguientes