Si necesita distribuir y procesar tráfico según atributos de la solicitud, como nombres de dominio y rutas, o datos contenidos en las solicitudes, como encabezados HTTP y cookies, puede crear reglas de reenvío personalizadas para un listener. El listener ejecuta acciones de reenvío específicas sobre las solicitudes coincidentes. Este tema describe el funcionamiento de las reglas de reenvío y cómo agregarlas y gestionarlas.
Funcionamiento de las reglas de reenvío
Tipos de reglas
Cada listener cuenta con dos tipos de reglas de reenvío:
Regla de reenvío predeterminada: Se crea automáticamente al configurar un listener y se vincula al grupo de endpoints predeterminado. Cada listener tiene exactamente una regla predeterminada. No es posible modificar su prioridad, ni editarla o eliminarla.
Reglas de reenvío personalizadas: Son las reglas que se crean después de configurar el listener. Un listener puede tener varias reglas personalizadas y es posible ajustar sus prioridades.
Componentes de las reglas
Cada regla de reenvío consta de forwarding conditions y forwarding actions. Las acciones se aplican únicamente cuando una solicitud coincide con todas las condiciones definidas en la regla.
Los tipos de condiciones y acciones disponibles dependen del protocolo del listener:
|
Protocolo del listener |
Condición de reenvío |
Acción de reenvío |
|
TCP |
Domain Name |
Forward, Drop Traffic |
|
HTTP o HTTPS |
Domain Name, Path, HTTP Header, HTTP Request Method, Cookie, dirección IP de origen, Query String |
Forward, Redirect, Mirror Traffic, Return Fixed Response, Rewrite, Add Header, Remove Header, Drop Traffic |
Si su instancia GA estándar solo admite las condiciones de reenvío Domain Name y Path, así como la acción Forward to, es probable que la versión de su instancia no sea compatible con otros tipos. Póngase en contacto con su gerente de cuenta para actualizar la instancia.
Si su instancia GA estándar no admite reglas de reenvío para listeners TCP, es posible que la versión de su instancia no sea compatible con esta función. Contacte a su gerente de cuenta para realizar la actualización.
Coincidencia de solicitudes
-
Las solicitudes se evalúan contra las reglas de reenvío personalizadas en orden descendente de prioridad. Un número de regla menor indica una prioridad más alta.
Si la solicitud coincide con una regla personalizada, es decir, cumple todas las condiciones, se aplican inmediatamente las acciones correspondientes.
Si no hay coincidencia, se verifica la siguiente regla según el orden de prioridad.
Si la solicitud no coincide con ninguna regla personalizada, se aplica la regla de reenvío predeterminada. La solicitud se reenvía al grupo de endpoints predeterminado.
Si el listener tiene varios grupos de endpoints predeterminados, la regla predeterminada distribuye el tráfico según la configuración de distribución del grupo de endpoints. Para más detalles, consulte Distribute traffic across endpoint groups in different scenarios.
Establecer la ruta en/*permite coincidir con todas las rutas. Para manejar solicitudes inesperadas mediante una regla general, configure la condición de ruta como/*y defina la acción para devolver una respuesta fija con código de estado 404 o 403. Posteriormente, arrastre la regla a la penúltima posición en la lista de reglas.
Requisitos previos
Se ha creado una instancia de standard GA instance.
Para las instancias de GA bajo el modelo de suscripción, debe haber adquirido y asociado un plan de ancho de banda básico.
Ha agregado un listener de enrutamiento inteligente. Para obtener más información, consulte Add and manage intelligent routing listeners.
Agregar una regla de reenvío
Puede agregar una regla de reenvío personalizada para ejecutar acciones específicas sobre las solicitudes que coincidan con dicha regla.
Inicie sesión en la consola de Global Accelerator.
En la página Instances, localice la instancia de GA que desea gestionar y haga clic en Configure Listener dentro de la columna Actions.
En la pestaña Listeners, busque el listener que desea administrar y haga clic en su ID.
En la página de detalles del listener, seleccione la pestaña Forwarding Rule.
-
En la pestaña Forwarding Rule, haga clic en Add Forwarding Rule, configure los parámetros y luego haga clic en OK.
HTTP o HTTPS
Parámetro
Descripción
Name
Nombre de la regla de reenvío personalizada.
If (Matching All Conditions)
Seleccione un tipo de condición de reenvío. También puede hacer clic en + Add Condition para agregar múltiples condiciones.
Domain Name: Introduzca uno o más nombres de dominio. Se admiten nombres exactos, comodines y expresiones regulares. Para más información, consulte Host-based rules.
Una sola regla de reenvío admite únicamente una condición de tipo Domain Name. Esta condición puede contener varios hosts, relacionados entre sí mediante un OR lógico.
Ejemplo: *.example.com
Path: Introduzca una o más rutas. Se admiten rutas exactas, comodines y expresiones regulares. Para más información, consulte Path-based rules.
Es posible crear varias condiciones de Path en una misma regla. La relación lógica entre múltiples condiciones de Path es OR. Asimismo, puede especificar varias rutas dentro de una única condición de Path, cuya relación lógica también será OR.
Ejemplo: Para la URL
www.example.com/test/test1?x=1&y=2, puede establecer la ruta como /test/*.HTTP Header: Escriba una clave de encabezado HTTP en el campo Key y un valor en el campo Value. Puede añadir múltiples valores. Es posible crear varias condiciones de HTTP Header en una regla de reenvío. La relación lógica entre múltiples condiciones de HTTP Header es AND. Cada clave de encabezado HTTP debe ser única, aunque puede especificar varios valores únicos dentro de una sola condición de HTTP Header.
Por ejemplo, la clave es user-agent y el valor es Mozilla/4.0.
HTTP Request Method: Seleccione uno o más métodos de solicitud HTTP. Valores válidos: HEAD, GET, POST, OPTIONS, PUT, PATCH y DELETE. Solo se permite crear una condición de HTTP Request Method por regla de reenvío. Dentro de esa condición puede especificar varios métodos, relacionados mediante un OR lógico.
Cookie: Introduzca una o más cookies. Puede crear múltiples condiciones de Cookie en una regla de reenvío, con una relación lógica AND entre ellas. En una sola condición de Cookie es posible especificar varios pares clave-valor, cuya relación lógica es OR.
Ejemplo: key: value.
Dirección IP de origen: Introduzca una o más direcciones IP o bloques CIDR. Solo se permite una condición de dirección IP de origen por regla de reenvío. Dentro de esa condición puede especificar múltiples direcciones IP o bloques CIDR, relacionados mediante un OR lógico.
Ejemplo de dirección IP: 1.1.XX.XX/32. Ejemplo de bloque CIDR: 2.2.XX.XX/24.
Query String: Introduzca una o más cadenas de consulta. Es posible crear múltiples condiciones de Query String en una regla de reenvío, relacionadas lógicamente mediante AND. En una sola condición de Query String puede especificar varios pares clave-valor, cuya relación lógica es OR.
Ejemplo: Para la URL
www.example.com/test/test1?x=1&y=2, puede definir el par clave-valor como x: 1 o y: 2.
Query String
Seleccione un tipo de acción de reenvío. Puede hacer clic en Then para agregar múltiples acciones.
Cada regla de reenvío debe incluir al menos una acción terminal —como + Add Action, Forward o Redirect— para garantizar que las solicitudes del cliente no se descarten.
Una regla de reenvío solo puede tener una acción terminal, la cual puede ser Return Fixed Response, Forward o Redirect.
Si una regla de reenvío incluye una acción de Return Fixed Response, Rewrite o Add Header, también debe incluir una acción de Remove Header. Las demás acciones deben colocarse antes de la acción Forward.
Forward: Seleccione un grupo de endpoints de destino.
La selección de grupos de endpoints depende del método de facturación de la instancia GA:
Pay-as-you-go: Puede seleccionar múltiples grupos de endpoints, tanto predeterminados como virtuales. Solo es posible elegir un grupo de endpoints por región. De forma predeterminada, puede asociar hasta 10 grupos de endpoints. Para solicitar un aumento de cuota, contacte a su gerente de cuenta.
Suscripción: Solo puede seleccionar un grupo de endpoints virtual.
Forward: Seleccione un Redirect y un Protocol, e introduzca los Status Code de destino, el Hosts, la Port y la cadena de Path. Los parámetros Search, Protocol, Hosts, Port y Path no pueden dejarse todos vacíos ni configurarse simultáneamente con sus valores predeterminados.
Para consultar las reglas avanzadas de configuración de Search en Path, consulte Advanced configuration rules for paths in rewrites and redirects.
Redirect: Seleccione un grupo de endpoints de destino hacia el cual se duplicará (mirroring) una copia del tráfico de la solicitud coincidente.
La función de duplicación de tráfico se encuentra en vista previa. Para utilizarla, póngase en contacto con su gerente de cuenta.
Solo las instancias GA bajo el modelo pay-as-you-go admiten la acción Mirror Traffic.
Si configura una acción de Mirror Traffic, también debe configurar una acción de Mirror Traffic. La acción Forward debe colocarse antes de la acción Mirror Traffic. Los grupos de endpoints seleccionados para estas dos acciones no pueden ser los mismos.
Para la duplicación de tráfico, solo puede seleccionar un grupo de endpoints (ya sea predeterminado o virtual).
Forward: Introduzca un Return Fixed Response, seleccione un Response Status Code e ingrese el Response Content Type.
Response Content: Introduzca el Rewrite de destino, la Domain Name y la Path.
Para conocer las reglas mejoradas de configuración de Query String aplicables a Rewrite, consulte Enhanced configuration rules for paths in rewrites and redirects.
Path: Escriba una clave de encabezado HTTP en el campo Add Header y un valor en el campo Key. Esta acción sobrescribe cualquier encabezado existente con la misma clave en la solicitud. Las claves especificadas en las acciones de Value deben ser únicas y distintas de las claves definidas en las acciones de Add Header.
Solo puede agregar un Remove Header System-defined a un encabezado si la instancia utiliza el método de facturación pay-as-you-go.
Request ID: Introduzca una clave de encabezado HTTP. Las claves especificadas en las acciones de Remove Header deben ser únicas y diferentes de las claves indicadas en las acciones de Remove Header.
Add Header: Descarta todo el tráfico entrante que coincida con la regla.
TCP
ImportanteAl agregar una regla de reenvío para un listener TCP, asegúrese de que el servicio de backend al que se reenvía el tráfico sea un servicio HTTPS. De lo contrario, la regla de reenvío no surtirá efecto.
Parámetro
Descripción
Drop Traffic
Nombre de la regla de reenvío personalizada.
Name
Configure la condición de reenvío. Solo se admite el tipo If (Matching All Conditions).
Se admiten nombres de dominio exactos, comodines y expresiones regulares. Para más información, consulte Host-based rules.
Ejemplo: *.example.com
Puede hacer clic en Domain Name para agregar varios hosts. La relación entre ellos es un OR lógico.
+ Add Host
Seleccione un tipo de acción de reenvío.
Una regla de reenvío solo puede contener una acción del tipo Actions o Forward.
Drop Traffic: Seleccione el grupo de endpoints predeterminado o virtual de destino.
La selección de grupos de endpoints depende del método de facturación de la instancia GA:
Pay-as-you-go: Puede seleccionar múltiples grupos de endpoints, tanto predeterminados como virtuales. Solo es posible elegir un grupo de endpoints por región. De forma predeterminada, puede asociar hasta 10 grupos de endpoints. Para solicitar un aumento de cuota, contacte a su gerente de cuenta.
Suscripción: Solo puede seleccionar un grupo de endpoints predeterminado o virtual.
Forward: Descarta todo el tráfico entrante que coincida con la regla.
Puede hacer clic en Drop Traffic para agregar varias reglas de reenvío al mismo tiempo.
Si desea agregar más reglas de reenvío, haga clic en Add New Rule.
Operaciones adicionales
No es posible editar, eliminar ni cambiar la prioridad de la regla de reenvío predeterminada.
Acciones | Descripción |
Editar una regla de reenvío | En la pestaña Add Forwarding Rule, localice la regla que desea modificar. Pase el cursor sobre la esquina superior derecha de la regla y haga clic en el icono |
Cambiar la prioridad de una regla de reenvío | Global Accelerator evalúa las reglas en orden descendente de prioridad. Un número menor indica mayor prioridad. Puede modificar la prioridad de cualquier regla de reenvío personalizada. En la pestaña Save, localice la regla y arrástrela a la posición deseada. Luego, haga clic en Forwarding Rule en la esquina superior derecha de la página. |
Eliminar una regla de reenvío | Eliminar una sola regla de reenvío
Eliminar varias reglas de reenvío
|
Casos de uso
Reenvío a un grupo de endpoints virtual
Una aplicación web está desplegada en dos servidores y presta servicios a través de dos nombres de dominio distintos: example.com y example.net. Se utiliza Global Accelerator para mejorar la calidad del servicio y la experiencia del usuario.
Puede configurar un listener HTTPS en Global Accelerator, agregar un grupo de endpoints predeterminado y vincular un certificado predeterminado al listener. De este modo, las solicitudes dirigidas a example.com se reenvían al grupo de endpoints predeterminado. Posteriormente, puede agregar un grupo de endpoints virtual, vincular un certificado adicional y crear una regla de reenvío basada en OK para dirigir las solicitudes destinadas a example.net hacia el grupo de endpoints virtual especificado.
Para obtener más información sobre cómo configurar múltiples certificados y reglas de reenvío con el fin de acelerar el acceso a varios dominios HTTPS, consulte Use a single GA instance to accelerate access to multiple HTTPS domains .
Redireccionar solicitudes HTTP a HTTPS
Para mejorar la seguridad, un sitio web migra de HTTP a HTTPS. Sin embargo, es posible que los usuarios existentes no puedan acceder al sitio mediante HTTP. En este caso, puede utilizar una regla de reenvío de tipo Domain Name en Global Accelerator. De forma predeterminada, esta regla emplea una redirección HTTP 301 para convertir las solicitudes HTTP entrantes en solicitudes HTTPS más seguras.
Bloqueo de tráfico basado en dominio
Un sitio web ofrece sus servicios mediante el nombre de dominio example.com y está alojado en un servicio de Content Delivery Network (CDN) de terceros. Para optimizar la experiencia global del usuario, el sitio emplea Alibaba Cloud Global Accelerator y configura el CDN como su servicio de backend para acelerar la entrega de contenido.
Los servicios CDN son multiinquilino y comparten direcciones IP de ingreso. Cuando Global Accelerator acelera el acceso a example.com, abre efectivamente un canal de aceleración para todo el servicio CDN. Si otros inquilinos del servicio CDN obtienen la dirección IP acelerada de Global Accelerator, podrían resolver otros nombres de dominio, como example.net, hacia esa misma dirección IP. Esta práctica, conocida como "aprovechamiento indebido", incrementa los costos de tráfico para el propietario de example.com y puede generar riesgos de seguridad.
Para mitigar este riesgo, puede usar reglas de reenvío en Global Accelerator que permitan exclusivamente las solicitudes provenientes de example.com y apliquen la acción Redirect al resto de las solicitudes. Esto aísla estrictamente el tráfico de diferentes dominios y valida el origen de la solicitud, garantizando así la seguridad de su sitio web.
Referencias
CreateForwardingRules: Crea reglas de reenvío.
UpdateForwardingRules: Actualiza reglas de reenvío.
ListForwardingRules: Consulta información sobre las reglas de reenvío creadas.
DeleteForwardingRules: Elimina reglas de reenvío.