¿Qué es un conjunto de reglas en Azure Front Door?

Un conjunto de reglas es un motor de reglas personalizado que agrupa una combinación de reglas en un único conjunto. Puede asociar un conjunto de reglas con varias rutas. El conjunto de reglas le permite personalizar el modo en que las solicitudes se procesan y controlan en el borde de Azure Front Door.

Escenarios admitidos habituales

  • Implemente encabezados de seguridad para evitar vulnerabilidades basadas en el explorador como HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy y X-Frame-Options, además de encabezados Access-Control-Allow-Origin para escenarios de uso compartido de recursos entre orígenes (CORS). Los atributos basados en seguridad también se pueden definir con cookies.

  • Enrute las solicitudes a la versión móvil o de escritorio de la aplicación en función del tipo de dispositivo cliente.

  • Uso de capacidades de redireccionamiento para devolver los redireccionamientos 301, 302, 307 y 308 al cliente para dirigirlos a nuevos nombres de host, rutas de acceso, cadenas de consulta o protocolos.

  • Modifique de forma dinámica la configuración de almacenamiento en caché de la ruta en función de las solicitudes entrantes.

  • Vuelva a escribir la ruta de acceso de la dirección URL de la solicitud y reenvíe la solicitud al origen adecuado del grupo de orígenes configurado.

  • Agregue, modifique o elimine el encabezado de solicitud o respuesta para ocultar la información confidencial o capturar información importante a través de los encabezados.

  • Admite variables de servidor para cambiar dinámicamente el encabezado de solicitud, los encabezados de respuesta o las cadenas de consulta y rutas de reescritura de direcciones URL. Por ejemplo, cuando se carga una página nueva o cuando se publica un formulario. La variable de servidor se admite actualmente solo en las acciones del conjunto de reglas.

Architecture

Los conjuntos de reglas controlan las solicitudes en el borde de Front Door. Cuando una solicitud llega al punto de conexión de Front Door, se procesa primero el firewall de aplicaciones web, seguido de los valores configurados en la ruta. Estos valores incluyen el conjunto de reglas asociado a la ruta. Los conjuntos de reglas se procesan en el orden en que aparecen en la configuración de enrutamiento. Las reglas de un conjunto de reglas también se procesan en el orden en que aparecen. Para que todas las acciones de cada regla se ejecuten, deben cumplirse todas las condiciones de coincidencia dentro de una regla. Si una solicitud no coincide con alguna de las condiciones de la configuración del conjunto de reglas, solo se aplicará la configuración de ruta predeterminada.

Si se selecciona Detener la evaluación de las reglas restantes, no se ejecutarán los conjuntos de reglas restantes asociados a la ruta.

Ejemplo

En el diagrama siguiente, las directivas del firewall de aplicaciones web se procesan en primer lugar. Después, la configuración del conjunto de reglas anexa un encabezado de respuesta. El encabezado cambia la duración máxima del control de caché si la condición de coincidencia es true.

Diagrama en el que se muestra cómo un conjunto de reglas puede cambiar el encabezado de respuesta de una solicitud que pasa mediante un punto de conexión de Front Door.

Terminología

Con un conjunto de reglas de Front Door, puede crear cualquier combinación de configuraciones, cada una de las cuales se compone de un conjunto de reglas. Después se describen ciertos términos útiles que se utilizarán al configurar el conjunto de reglas.

  • Conjunto de reglas: conjunto de reglas que se asocia a una o varias rutas.

  • Regla del conjunto de reglas: regla compuesta de un máximo de 10 condiciones de coincidencia y 5 acciones. Las reglas son locales para un conjunto de reglas y no se pueden exportar para usarlas en otros conjuntos de reglas. Puede crear la misma regla en diferentes conjuntos de reglas.

  • Condición de coincidencia: se pueden configurar varias condiciones de coincidencia para analizar una solicitud entrante. Una regla puede contener hasta 10 condiciones de coincidencia. Las condiciones de coincidencia se evalúan con un operador AND. Se admiten las expresiones regulares en las condiciones. Se puede encontrar una lista completa de condiciones de coincidencia en Condiciones de coincidencia de un conjunto de reglas.

  • Acción: una acción determina cómo Front Door controla las solicitudes entrantes en función de las condiciones de coincidencia. Puede modificar los comportamientos de almacenamiento en caché, modificar encabezados de solicitud o de respuesta y configurar la reescritura de direcciones URL y la redirección de direcciones URL. Se admiten las variables de servidor con la acción. Una regla puede contener hasta cinco acciones. En Acciones de un conjunto de reglas se puede encontrar una lista completa de acciones.

Compatibilidad con plantillas de ARM

Los conjuntos de reglas se pueden configurar mediante plantillas de Azure Resource Manager. Para obtener un ejemplo, vea Front Door Estándar/Premium con conjunto de reglas. Puede personalizar el comportamiento si usa los fragmentos de código JSON o Bicep incluidos en los ejemplos de la documentación de condiciones de coincidencia y acciones.

Limitaciones

Para obtener información sobre los límites de cuota, consulte Límites, cuotas y restricciones de Front Door.

Pasos siguientes

Importante

Azure Front Door (clásico) se retirará el 31 de marzo de 2027. Para evitar cualquier interrupción del servicio, es importante migrar los perfiles de Azure Front Door (clásico) al nivel Estándar o Premium de Azure Front Door para marzo de 2027. Para obtener más información, consulte retirada de Azure Front Door (clásico).

La configuración de un motor de reglas le permite personalizar el modo en que se controlan las solicitudes HTTP en el borde de Front Door y proporciona un comportamiento controlado para la aplicación web. El motor de reglas de Azure Front Door (clásico) consta de varias características clave, entre las que se incluyen:

  • Aplica HTTP para garantizar que todos los usuarios finales interactúen con el contenido a través de una conexión segura.
  • Implemente encabezados de seguridad para evitar vulnerabilidades basadas en explorador como HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy y X-Frame-Options, además de encabezados Access-Control-Allow-Origin para escenarios de uso compartido de recursos entre orígenes (CORS). Los atributos basados en seguridad también se pueden definir con cookies.
  • Enrute las solicitudes a las versiones de escritorio o para dispositivos móviles de la aplicación en función de los patrones del contenido de los encabezados de solicitud, las cookies o las cadenas de consulta.
  • Use las funcionalidades de redireccionamiento para devolver los redireccionamientos 301, 302, 307 y 308 al cliente para dirigirse a nuevos nombres de host, rutas de acceso y protocolos.
  • Modifique de forma dinámica la configuración de almacenamiento en caché de la ruta en función de las solicitudes entrantes.
  • Vuelva a escribir la ruta de acceso de la dirección URL de la solicitud y reenvíe la solicitud al back-end adecuado del grupo de back-end configurado.

Architecture

El motor de reglas administra las solicitudes en el perímetro. Cuando una solicitud entre en el punto de conexión de Azure Front Door (clásico), primero se procesa el WAF y, después, la configuración del motor de reglas asociada al dominio de su front-end. Si se procesa una configuración del motor de reglas, significa que se ha cumplido una condición de coincidencia. Para que se procesen todas las acciones de cada regla, deben cumplirse todas las condiciones de coincidencia dentro de una regla. Si una solicitud no coincide con alguna de las condiciones de la configuración del motor de reglas, se procesa la configuración de enrutamiento predeterminada.

Por ejemplo, en el diagrama siguiente, un motor de reglas se configura para anexar un encabezado de respuesta. El encabezado cambia la duración máxima del control de caché si el archivo de solicitud tiene una extensión de .jpg.

Diagrama en el que se muestra cómo el motor de reglas almacena en caché la duración máxima de la caché en el encabezado de respuesta si el archivo solicitado tiene una extensión de .jpg.

En este segundo ejemplo, verá que el motor de reglas se ha configurado para redirigir a los usuarios a una versión móvil del sitio web si el dispositivo solicitante es de tipo Móvil.

Diagrama en el que se muestra cómo el motor de reglas redirige a los usuarios a la versión móvil de un sitio web si el dispositivo solicitante es de tipo móvil.

En ambos ejemplos, si no se cumple ninguna de las condiciones de coincidencia, se procesa la regla de enrutamiento especificada.

Terminología

En Azure Front Door (clásico), puede crear muchas combinaciones de configuraciones del motor de reglas, cada una de las cuales se compone de un conjunto de reglas. A continuación se describen ciertos términos útiles que se encontrará al configurar el motor de reglas.

  • Configuración del motor de reglas: conjunto de reglas que se aplican a una única ruta. Cada configuración se limita a 25 reglas. Puede crear hasta 10 configuraciones.
  • Regla del motor de reglas: una regla compuesta de un máximo de 10 condiciones de coincidencia y 5 acciones.
  • Condición de coincidencia: se pueden usar varias condiciones de coincidencia para analizar las solicitudes entrantes. Una regla puede contener hasta 10 condiciones de coincidencia. Las condiciones de coincidencia se evalúan con un operador AND. Para obtener una lista completa de las condiciones de coincidencia, vea Condiciones de coincidencia de las reglas.
  • Acción: Las acciones indican lo que ocurre en las solicitudes entrantes: en la actualidad hay disponibles acciones de encabezado de solicitud o respuesta, reenvío, redireccionamientos y reescrituras. Una regla puede contener hasta cinco acciones; sin embargo, solo puede una invalidación de la configuración de enrutamiento. Para obtener una lista completa de las acciones, vea Acciones de las reglas.

Pasos siguientes