Compartir a través de


Cómo hacer coincidir las solicitudes con una configuración de ruta

Una ruta en Azure Front Door define cómo se controla el tráfico cuando llega una solicitud entrante al perímetro de Azure Front Door. La configuración de ruta establece una asociación entre un dominio y un grupo de origen. Mediante el uso de funciones avanzadas como Patrón de coincidencia y Conjuntos de reglas, puede tener un control granular sobre el tráfico a los recursos de back-end.

Nota:

Cuando se usan los conjuntos de reglas de Front Door, puede configurar una regla para invalidar el grupo de origen de una solicitud. El grupo de origen establecido por el conjunto de reglas invalida el proceso de enrutamiento descrito en este artículo.

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).

Cuando una solicitud llega al perímetro de Azure Front Door (clásico), uno de los primeros pasos es determinar cómo enrutar la solicitud coincidente a un recurso de back-end y, a continuación, realizar una acción definida en la configuración de enrutamiento. En este documento se explica cómo Front Door determina qué configuración de ruta se va a usar al procesar una solicitud.

Estructura de una configuración de enrutamiento de Front Door

Una regla de enrutamiento de Front Door consta de dos partes principales: el "lado izquierdo" y el "lado derecho". Front Door hace coincidir la solicitud entrante con el lado izquierdo de la ruta, mientras que el lado derecho define cómo se procesa la solicitud.

Coincidencia de entrada (lado izquierdo)

Las propiedades siguientes determinan si la solicitud entrante coincide con la regla de enrutamiento (el lado izquierdo):

  • Protocolos HTTP: HTTP o HTTPS
  • Dominio: Por ejemplo: www.foo.com, *.bar.com
  • Rutas de acceso: Por ejemplo: /*, /users/*, /file.gif

Estas propiedades se expanden internamente para que cada combinación de Protocolo, Dominio o Ruta de acceso sea un conjunto de coincidencias potencial.

Decisión de enrutamiento (lado derecho)

La decisión sobre cómo procesar la solicitud depende de si el almacenamiento en caché está habilitado para la ruta. Si una respuesta almacenada en caché no está disponible, la solicitud se reenvía al origen adecuado.

Búsqueda de coincidencia de ruta

En esta sección se explica cómo Front Door hace coincidir las solicitudes con las reglas de enrutamiento. El principio básico es que Front Door siempre coincide con la solicitud más específica mediante la evaluación de las propiedades "del lado izquierdo": protocolo, dominio y ruta de acceso, en ese orden.

Coincidencia de host de front-end

Azure Front Door usa los siguientes pasos para buscar coincidencias con los hosts de front-end:

  1. Compruebe si hay rutas con una coincidencia exacta en el host de front-end.
  2. Si no se encuentra ninguna coincidencia exacta, la solicitud se rechaza con un error 404: Solicitud incorrecta.

En las tablas siguientes se muestran tres reglas de enrutamiento diferentes con sus hosts de front-end y rutas de acceso:

Regla de enrutamiento Hosts de front-end Path
Un foo.contoso.com /*
B foo.contoso.com /users/*
C www.fabrikam.com, foo.adventure-works.com /*, /images/*

En la tabla siguiente se muestran los resultados coincidentes de las reglas de enrutamiento de la tabla anterior:

Host de front-end entrante Reglas de enrutamiento coincidentes
foo.contoso.com A, B
www.fabrikam.com C
images.fabrikam.com Error 404: Solicitud incorrecta
foo.adventure-works.com C
contoso.com Error 404: Solicitud incorrecta
www.adventure-works.com Error 404: Solicitud incorrecta
www.northwindtraders.com Error 404: Solicitud incorrecta

Coincidencia de ruta de acceso

Después de que Azure Front Door determine el host de front-end específico y filtre las reglas de enrutamiento posibles, selecciona las reglas de enrutamiento en función de la ruta de acceso de la solicitud. Se usa la siguiente lógica:

  1. Compruebe si hay reglas de enrutamiento con una coincidencia exacta con la ruta de acceso de la solicitud.
  2. Si no se encuentra ninguna coincidencia exacta, busque una regla de enrutamiento con una ruta de acceso comodín que coincida.
  3. Si no se encuentra ninguna ruta de acceso coincidente, la solicitud se rechaza con un error 404: Solicitud incorrecta.

Nota:

El carácter comodín * solo es válido para las rutas de acceso que no tienen ningún otro carácter después de él. Además, el carácter comodín * debe ir precedido de una barra diagonal /. Las rutas de acceso sin un carácter comodín se consideran rutas de acceso de coincidencia exacta. Una ruta de acceso que termina en una barra diagonal / también es de coincidencia exacta. Asegúrese de que las rutas de acceso siguen estas reglas para evitar errores.

Nota:

  • Las rutas de acceso sin un carácter comodín se consideran rutas de acceso de coincidencia exacta. Una ruta de acceso que termina con un / también es una coincidencia exacta.
  • Los patrones de ruta de acceso no distinguen mayúsculas de minúsculas. Por ejemplo, /FOO y /foo se tratan como duplicados y no se permiten en la configuración Patrones para que coincidan.

En la tabla siguiente se enumeran las reglas de enrutamiento con sus combinaciones de rutas de acceso y host de front-end:

Regla de enrutamiento Host de front-end Path
Un www.contoso.com /
N www.contoso.com /*
C www.contoso.com /ab
D www.contoso.com /abc
E www.contoso.com /abc/
F www.contoso.com /abc/*
G www.contoso.com /abc/def
H www.contoso.com /path/

En la tabla siguiente se muestra qué regla de enrutamiento coincide con una solicitud entrante en el perímetro de Azure Front Door:

Solicitud entrante Ruta coincidente
www.contoso.com/ A
www.contoso.com/a N
www.contoso.com/ab C
www.contoso.com/abc D
www.contoso.com/abzzz N
www.contoso.com/abc/ E
www.contoso.com/abc/d F
www.contoso.com/abc/def G
www.contoso.com/abc/defzzz| F
www.contoso.com/abc/def/ghi| F
www.contoso.com/path N
www.contoso.com/path/ H
www.contoso.com/path/zzz N

Advertencia

Si no hay ninguna regla de enrutamiento para un host de front-end de coincidencia exacta sin una ruta de acceso de ruta de captura (/*), no se coincidirá ninguna regla de enrutamiento.

Configuración de ejemplo:

Enrutar Host Path
Un profile.contoso.com /api/*

Tabla de búsqueda de coincidencias:

Solicitud entrante Ruta coincidente
profile.domain.com/other Ninguno. Error 404: Solicitud incorrecta

Decisión de enrutamiento

Una vez que Azure Front Door coincide con una regla de enrutamiento, decide cómo procesar la solicitud. Si hay disponible una respuesta almacenada en caché, se devuelve al cliente.

Si se configura un conjunto de reglas para la regla de enrutamiento coincidente, se procesa en orden. Los conjuntos de reglas pueden invalidar una ruta dirigiendo el tráfico a un grupo de origen específico. Si no se define ningún conjunto de reglas, la solicitud se reenvía al grupo de origen sin cambios.

Si Azure Front Door (clásico) no tiene una respuesta almacenada en caché, comprueba si hay una configuración de reescritura de URL. Si no hay definida ninguna ruta de acceso de reenvío personalizada, la solicitud se reenvía al back-end adecuado del grupo de back-end configurado. Si se define una ruta de acceso de reenvío personalizada, la ruta de acceso de solicitud se actualiza en consecuencia y, a continuación, se reenvía al back-end.

Pasos siguientes