Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-17 GMT+08:00

Adición de una política de reenvío

Función

Esta API se utiliza para agregar una política de reenvío. La política de oyente y reenvío determina cómo se reenvía el tráfico a los servidores backend.

  • Al hacer coincidir la dirección URL o el nombre de dominio especificado en la política de reenvío cuando action se establece en REDIRECT_TO_POOL, el balanceador de carga distribuye el tráfico a los servidores backend de un grupo de servidores backend específico.
  • Cuando action se establece en REDIRECT_TO_LISTENER, el oyente HTTP es redirigido a un oyente HTTPS, y las peticiones son enrutadas por el oyente HTTPS.

Restricciones

Actualmente, solo se soportan redireccionamientos desde un oyente HTTP a un oyente HTTPS. Cuando action se establece en REDIRECT_TO_LISTENER, el oyente especificado por listener_id solo puede ser un oyente HTTP, y el oyente especificado por redirect_listener_id solo puede ser un oyente HTTPS.

El balanceador de carga del oyente HTTPS al que se redirige el tráfico debe ser el mismo que el oyente HTTP.

URI

POST /v2/{project_id}/elb/l7policies

Tabla 1 Descripción del parámetro

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

Especifica el ID del proyecto.

Solicitud

Tabla 2 Descripción del parámetro

Parámetro

Obligatorio

Tipo

Descripción

l7policy

L7policy object

Especifica la política de reenvío. Para más detalles, consulte Tabla 3.

Tabla 3 Descripción del parámetro l7policy

Parámetro

Obligatorio

Tipo

Descripción

tenant_id

No

String

Especifica el ID del proyecto en el que se utiliza la política de reenvío.

El valor debe ser el mismo que el valor de project_id en el token.

El valor contiene un máximo de 255 caracteres.

name

No

String

Especifica el nombre de la política de reenvío.

El valor contiene un máximo de 255 caracteres.

admin_state_up

No

Boolean

Especifica el estado administrativo de la política de reenvío.

Este parámetro está reservado y el valor predeterminado es true.

description

No

String

Proporciona información adicional sobre la política de reenvío.

El valor contiene un máximo de 255 caracteres.

listener_id

String

Especifica el ID del oyente para el que se agrega la política de reenvío.

  • When action is set to REDIRECT_TO_POOL, forwarding policies can be added to a listener with protocol set to HTTP or TERMINATED_HTTPS.
  • Cuando action se establece en REDIRECT_TO_LISTENER, las políticas de reenvío se pueden agregar a un oyente con protocol establecido en HTTP.

action

String

Especifica si las solicitudes se reenvían a otro grupo de servidores backend o se redirigen a un HTTPS oyente.

El rango de valores varía dependiendo del protocolo del grupo de servidores backend:

  • REDIRECT_TO_POOL: Las solicitudes se reenvían al grupo de servidores backend especificado por el identificador de redirect_pool_id.
  • REDIRECT_TO_LISTENER: Las solicitudes son redirigidas desde el oyente HTTP especificado por listener_id al oyente HTTPS especificado por redirect_listener_id.

redirect_pool_id

No

String

Especifica el ID del grupo de servidores backend al que se reenvía el tráfico. El valor predeterminado es null.

Este parámetro es obligatorio cuando action se establece en REDIRECT_TO_POOL.

Este parámetro no se puede especificar cuando action se establece en REDIRECT_TO_LISTENER.

El grupo de servidores backend debe cumplir los siguientes requisitos:

  • No puede ser el grupo de servidores backend predeterminado del oyente.
  • No puede ser el grupo de servidores backend utilizado por las políticas de reenvío de otros oyentes.

redirect_listener_id

No

String

Especifica el ID del oyente al que se redirige el tráfico. El valor predeterminado es null.

Este parámetro es obligatorio cuando action se establece en REDIRECT_TO_LISTENER.

Este parámetro no se puede especificar cuando action se establece en REDIRECT_TO_POOL. El oyente debe cumplir con los siguientes requisitos:

  • Solo puede ser un oyente HTTPS.
  • Solo puede ser un oyente del mismo balanceador de carga.

redirect_url

No

String

Especifica la dirección URL a la que se redirige el tráfico. El valor predeterminado es null.

Este parámetro está reservado.

El valor contiene un máximo de 255 caracteres.

position

No

Integer

Especifica la prioridad de reenvío. El valor varía de 1 a 100. El valor predeterminado es 100.

Este parámetro está reservado.

rules

No

Array of Rules objects

Muestra las reglas de reenvío de la política de reenvío. Para más detalles, consulte Tabla 4.

La lista contiene un máximo de dos reglas y el parámetro type de cada regla debe ser único.

Tabla 4 Descripción del parámetro rules

Parámetro

Tipo

Obligatorio

Descripción

admin_state_up

Boolean

No

Especifica el estado administrativo de la regla de reenvío.

Este parámetro está reservado y el valor predeterminado es true.

type

String

Especifica el tipo de coincidencia de una regla de reenvío.

El rango de valores varía dependiendo del protocolo del grupo de servidores backend:

  • HOST_NAME: coincide con el nombre de dominio en la solicitud.
  • PATH: coincide con la ruta de acceso en la solicitud.

El tipo de coincidencia de reglas de reenvío en una política de reenvío debe ser único.

compare_type

String

Especifica el modo de coincidencia. Las opciones son las siguientes:

Cuando type se establece en HOST_NAME, el valor de este parámetro solo puede ser el siguiente:

  • EQUAL_TO: indica la coincidencia exacta.

Cuando type se establece en PATH, el valor de este parámetro puede ser uno de los siguientes:

  • REGEX: indica coincidencia de expresiones regulares.
  • STARTS_WITH: indica coincidencia de prefijo.
  • EQUAL_TO: indica la coincidencia exacta.

invert

Boolean

No

Especifica si se admite la coincidencia inversa.

El valor puede ser true o false. El valor predeterminado es false.

Este parámetro está reservado.

key

String

No

Especifica la clave del contenido de coincidencia. El valor predeterminado es null.

Este parámetro está reservado.

value

String

Especifica el valor del contenido de coincidencia. El valor no puede contener espacios.

  • Cuando type se establece en HOST_NAME, el valor puede contener un máximo de 100 caracteres que contienen solo letras, dígitos, guiones (-) y puntos (.), y debe comenzar con una letra o un dígito.
  • Cuando type se establece en PATH, el valor puede contener un máximo de 128 caracteres. Cuando compare_type se establece en STARTS_WITH o EQUAL_TO, el valor debe comenzar con una barra diagonal (/) y solo puede contener letras, dígitos y caracteres especiales _~';@^-%#&$.*+?,=!:| \/()[]{}

Respuesta

Tabla 5 Descripción del parámetro

Parámetro

Tipo

Descripción

l7policy

L7policy object

Especifica la política de reenvío. Para más detalles, consulte Tabla 6.

Tabla 6 Descripción del parámetro l7policy

Parámetro

Tipo

Descripción

id

String

Especifica el ID de política de reenvío.

tenant_id

String

Especifica el ID del proyecto en el que se utiliza la política de reenvío.

project_id

String

Especifica el ID del proyecto al que pertenece la política de reenvío. Este parámetro tiene el mismo significado que tenant_id.

name

String

Especifica el nombre de la política de reenvío.

admin_state_up

Boolean

Especifica el estado administrativo de la política de reenvío.

Este parámetro está reservado. El valor puede ser true o false.

  • true: habilitar
  • false: deshabilitar

description

String

Proporciona información adicional sobre la política de reenvío.

listener_id

String

Especifica el ID del oyente al que se agrega la política de reenvío.

action

String

Especifica si las solicitudes se reenvían a otro grupo de servidores backend o se redirigen a un HTTPS oyente.

El rango de valores varía dependiendo del protocolo del grupo de servidores backend:

  • REDIRECT_TO_POOL: Las solicitudes se reenvían al grupo de servidores backend especificado por el identificador de redirect_pool_id.
  • REDIRECT_TO_LISTENER: Las solicitudes son redirigidas desde el oyente HTTP especificado por listener_id al oyente HTTPS especificado por redirect_listener_id.

redirect_pool_id

String

Especifica el ID del grupo de servidores backend al que se reenvía el tráfico.

redirect_listener_id

String

Especifica el ID del oyente al que se redirige el tráfico.

redirect_url

String

Especifica la dirección URL a la que se redirige el tráfico.

Este parámetro está reservado.

rules

Array of Rules objects

Muestra las reglas de reenvío de la política de reenvío. Para más detalles, consulte Tabla 7.

position

Integer

Especifica la prioridad de reenvío. El valor varía de 1 a 100. El valor predeterminado es 100.

Este parámetro está reservado.

provisioning_status

String

Este parámetro está reservado y su valor sólo puede ser ACTIVE.

Especifica el estado de aprovisionamiento de la política de reenvío.

Tabla 7 Descripción del parámetro rules

Parámetro

Tipo

Descripción

id

String

Especifica el ID de la regla de reenvío asociada.

Ejemplo de la solicitud

  • Ejemplo de solicitud 1: Adición de una política de reenvío
    POST https://{Endpoint}/v2/573d73c9f90e48d0bddfa0eb202b25c2/elb/l7policies
    
    {
        "l7policy": {
            "name": "niubiao_yaqing_api-2", 
            "listener_id": "3e24a3ca-11e5-4aa3-abd4-61ba0a8a18f1", 
            "action": "REDIRECT_TO_POOL", 
            "redirect_pool_id": "6460f13a-76de-43c7-b776-4fefc06a676e", 
            "rules": [
                {
                    "type": "PATH", 
                    "compare_type": "EQUAL_TO", 
                    "value": "/test"
                }, 
                {
                    "type": "HOST_NAME", 
                    "compare_type": "EQUAL_TO", 
                    "value": "www.test.com"
                }
            ]
        }
    }

Ejemplo de la respuesta

  • Ejemplo de respuesta 1
    {
        "l7policy": {
            "redirect_pool_id": "6460f13a-76de-43c7-b776-4fefc06a676e", 
            "description": "", 
            "admin_state_up": true, 
            "rules": [
                {
                    "id": "742600d9-2a14-4808-af69-336883dbb590"
                }, 
                {
                    "id": "3251ed77-0d52-412b-9310-733636bb3fbf"
                }
            ], 
            "tenant_id": "573d73c9f90e48d0bddfa0eb202b25c2", 
            "listener_id": "3e24a3ca-11e5-4aa3-abd4-61ba0a8a18f1", 
            "redirect_url": null, 
            "redirect_listener_id": null, 
            "action": "REDIRECT_TO_POOL", 
            "position": 100, 
            "provisioning_status": "ACTIVE", 
            "project_id": "573d73c9f90e48d0bddfa0eb202b25c2", 
            "id": "65d6e115-f179-4bcd-9bbb-1484e5f8ee81", 
            "name": "niubiao_yaqing-_api-2"
        }
    }

Código de estado

Para más detalles, consulte Códigos de estado.