Transformaciones para reglas de escucha - Elastic Load Balancing

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Transformaciones para reglas de escucha

Una transformación de reglas reescribe las solicitudes entrantes antes de que se envíen a los destinos. Reescribir una solicitud no cambia la decisión de enrutamiento que se toma al evaluar las condiciones de la regla. Esto resulta útil cuando los clientes envían una URL o un encabezado de host diferentes a los esperados por los destinatarios.

El uso de transformaciones de reglas exime al balanceador de cargas de la responsabilidad de modificar las rutas, las cadenas de consulta y los encabezados del host. Esto elimina la necesidad de añadir una lógica de modificación personalizada al código de la aplicación o de depender de un proxy de terceros para realizar las modificaciones.

Los balanceadores de carga de aplicaciones admiten las siguientes transformaciones para las reglas de escucha.

Transformaciones
host-header-rewrite

Reescribe el encabezado del host en la solicitud. La transformación utiliza una expresión regular para que coincida con un patrón del encabezado del host y, a continuación, lo reemplaza por una cadena de reemplazo.

url-rewrite

Reescribe la URL de la solicitud. La transformación utiliza una expresión regular para que coincida con un patrón de la URL de la solicitud y, a continuación, la reemplaza por una cadena de reemplazo.

Conceptos básicos de transformación
  • Puede añadir una transformación de reescritura de encabezados de host y una transformación de reescritura de URL por regla.

  • No puedes añadir una transformación a una regla predeterminada.

  • Si no hay ningún patrón que coincida, la solicitud original se envía al destino.

  • Si hay un patrón que coincide pero la transformación falla, devolvemos un error HTTP 500.

Transformaciones de reescritura del encabezado del host

Puede modificar el nombre de dominio especificado en el encabezado del host.

ejemplo Ejemplo de transformación del encabezado del host

Puede especificar una transformación al crear o modificar una regla. Para obtener más información, consulte los comandos create-rule y modify-rule. A continuación, se muestra un ejemplo de transformación de encabezado de host. Transforma el encabezado del host en un punto final interno.

[ { "Type": "host-header-rewrite", "HostHeaderRewriteConfig": { "Rewrites": [ { "Regex": "^mywebsite-(.+).com$", "Replace": "internal.dev.$1.myweb.com" } ] } } ]

Por ejemplo, esta transformación reescribe el encabezado del host https://mywebsite-example.com/project-a comohttps://internal.dev.example.myweb.com/project-a.

Transformaciones de reescritura de URL

Puede modificar la ruta o la cadena de consulta de la URL. Al reescribir la URL en el nivel del balanceador de carga, tu interfaz URLs puede mantener la coherencia para los usuarios y los motores de búsqueda, incluso si tus servicios de backend cambian. También puedes simplificar cadenas de consulta de URL complejas para que los clientes puedan escribirlas más fácilmente.

Ten en cuenta que no puedes modificar el protocolo ni el puerto de la URL, solo la ruta y la cadena de consulta.

ejemplo Ejemplo de transformación de reescritura de URL

Puede especificar una transformación al crear o modificar una regla. Para obtener más información, consulte los comandos create-rule y modify-rule. A continuación se muestra un ejemplo de transformación de reescritura de URL. Transforma la estructura de directorios en una cadena de consulta.

[ { "Type": "url-rewrite", "UrlRewriteConfig": { "Rewrites": [ { "Regex": "^/dp/([A-Za-z0-9]+)/?$", "Replace": "/product.php?id=$1" } ] } } ]

Por ejemplo, esta transformación reescribe la URL de la solicitud https://www.example.com/dp/B09G3HRMW comohttps://www.example.com/product.php?id=B09G3HRMW.

En qué se diferencian las reescrituras de URL de las redirecciones de URL

Característica Redireccionamientos de URL Reescrituras de URL
Visualización de URL Cambios en la barra de direcciones del navegador No hay cambios en la barra de direcciones del navegador
Códigos de estado Utiliza 301 (permanente) o 302 (temporal) Sin cambio de código de estado
Procesando Del lado del navegador Del lado del servidor
Usos comunes Cambio de dominio, consolidación de sitios web, corrección de enlaces rotos Limpie URLs para el SEO, oculte estructuras complejas y proporcione un mapeo de URL heredado