Compartir a través de


Reescritura de URL

Azure Front Door proporciona compatibilidad con la reescritura de URL, lo que le permite modificar la ruta de acceso de la solicitud que se enruta al origen. Esta eficaz característica permite definir condiciones que determinan cuándo se debe reescribir la dirección URL o los encabezados especificados. Estas condiciones se basan en la información presente en la solicitud y la respuesta.

Mediante la reescritura de URL, tiene la capacidad de redirigir a los usuarios finales a distintos orígenes en función de factores como su tipo de dispositivo o el tipo de archivo que solicitan. La acción de reescritura de URL se puede configurar fácilmente en el conjunto de reglas, lo que proporciona un control específico sobre el comportamiento de enrutamiento.

Captura de pantalla de la acción de reescritura de URL en la configuración de un conjunto de reglas.

Patrón de origen

El patrón de origen representa la ruta de acceso de la dirección URL en la solicitud inicial que desea reemplazar. Actualmente, el patrón de origen utiliza un enfoque de coincidencia basado en prefijos. Para que coincida con todas las rutas de acceso de dirección URL, puede especificar una barra diagonal (/) como valor para el patrón de origen.

En el contexto de una acción de reescritura de URL, solo se toma en consideración para el patrón de origen la ruta que aparece después de los patrones a coincidir en la configuración de la ruta. Por ejemplo, el conjunto de reglas solo considera /source-pattern como patrón de origen que se va a reescribir si tiene un formato de dirección URL entrante de contoso.com/pattern-to-match/source-pattern. Una vez aplicada la reescritura de la dirección URL, el formato de dirección URL saliente será contoso.com/pattern-to-match/destination.

En los casos en los que necesite quitar el segmento /pattern-to-match de la dirección URL, puede establecer la ruta de acceso de origen para el grupo de origen en la configuración de ruta en /.

Destino

La ruta de acceso de destino representa la ruta de acceso que reemplaza el patrón de origen. Por ejemplo, si la ruta de acceso de la dirección URL de la solicitud es contoso.com/foo/1.jpg y el patrón de origen es /foo/, especificando el destino como /bar/ da como resultado que el contenido se sirve de contoso.com/bar/1.jpg desde el origen.

Conservar la ruta de acceso sin coincidencia

Conservar la ruta de acceso no coincidente le permite establecer cómo se controla la ruta de acceso restante después de controlar el patrón de origen. Al establecer conservar la ruta de acceso no coincidentes en , la ruta de acceso restante se anexa a la nueva ruta de acceso. Por otro lado, si se establece en No (valor predeterminado) se quitará la ruta de acceso restante después del patrón de origen.

Este es un ejemplo que muestra el comportamiento de conservar la ruta de acceso no coincidente:

Conservar la ruta de acceso sin coincidencia Patrón de origen Destination Solicitud entrante Contenido servido desde el origen
/ /foo/ contoso.com/sub/1.jpg /foo/sub/1.jpg
/sub/ /foo/ contoso.com/sub/image/1.jpg /foo/image/1.jpg
No /sub/ /foo/2.jpg contoso.com/sub/image/1.jpg /foo/2.jpg

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

Azure Front Door (clásico) proporciona compatibilidad con la reescritura de URL mediante la configuración de una Ruta de acceso de reenvío personalizada al configurar la regla de tipo de enrutamiento de reenvío. De forma predeterminada, si solo se define una barra diagonal (/*), Front Door replica la ruta de acceso de dirección URL entrante en la solicitud reenviada. El encabezado de host usado en la solicitud reenviada se basa en la configuración del back-end seleccionado. Para obtener información más detallada, consulte la documentación Encabezado de host de back-end.

El aspecto clave de la reescritura de direcciones URL se encuentra en la capacidad de copiar cualquier parte coincidente de la ruta de acceso entrante a la ruta de acceso reenviada cuando se usa una ruta de acceso de reenvío personalizada con una coincidencia de caracteres comodín. En la tabla siguiente se muestra un ejemplo de una solicitud entrante y la ruta de acceso reenviada correspondiente al usar una ruta de acceso de reenvío personalizada de /fwd/. La sección que se indica como a/b/c representa la parte que reemplaza la coincidencia de caracteres comodín.

Ruta de acceso de dirección URL entrante Ruta de acceso de coincidencia Ruta de acceso de reenvío personalizada Ruta de acceso reenviada
/foo/a/b/c /foo/* /fwd/ /fwd/a/b/c

Ejemplo de reescritura de direcciones URL

Considere la posibilidad de una regla de enrutamiento con la siguiente combinación de hosts de front-end y rutas de acceso configuradas:

Hosts Rutas de acceso
www.contoso.com /*
/foo
/foo/*
/foo/bar/*

En la tabla siguiente se muestran ejemplos de solicitudes entrantes y sus rutas de coincidencia más específicas correspondientes. También proporciona ejemplos de rutas de acceso de reenvío personalizadas y las rutas de acceso reenviadas resultantes.

Por ejemplo, considere la segunda fila de la tabla. Si la solicitud entrante es www.contoso.com/sub y la ruta de acceso de reenvío personalizada se establece en /, la ruta de acceso reenviada sería /sub. Sin embargo, si la ruta de acceso de reenvío personalizada está establecida en /fwd/, la ruta de acceso reenviada sería /fwd/sub. Las partes resaltadas de las rutas de acceso indican las partes que forman la coincidencia de caracteres comodín.

Solicitud entrante Ruta de acceso de coincidencia más específica / /fwd/ /foo/ /foo/bar/
www.contoso.com/ /* / /fwd/ /foo/ /foo/bar/
www.contoso.com/sub /* /sub /fwd/sub /foo/sub /foo/bar/sub
www.contoso.com/a/b/c /* /a/b/c /fwd/a/b/c /foo/a/b/c /foo/bar/a/b/c
www.contoso.com/foo /foo / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/ /foo/* / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/bar /foo/* /bar /fwd/bar /foo/bar /foo/bar/bar

Nota:

Azure Front Door (classic) solo admite la reescritura de direcciones URL de una ruta de acceso estática a otra. La conservación de la ruta de acceso sin coincidencia se admite en Azure Front Door Estándar y Premium. Para más información, consulte Conservar la ruta de acceso sin coincidencia.

Configuración opcional

Configuración de caché: si la opción está deshabilitada o no se ha especificado, las solicitudes que coincidan con esta regla de enrutamiento no intenta usar el contenido almacenado en caché y, en su lugar, lo capturan siempre desde el back-end. Para más información, consulte Almacenamiento en caché con Azure Front Door.

Pasos siguientes