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.0/lbaas/l7policies
Solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
l7policy |
Sí |
Object |
Especifica la política de reenvío. Para más detalles, consulte Tabla 2. |
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 tenant_id en el token. El valor contiene un máximo de 255 caracteres. |
project_id |
No |
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. El valor debe ser el mismo que el valor de project_id en el token. |
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 |
Sí |
String |
Especifica el ID del oyente al que se agrega la política de reenvío.
|
action |
Sí |
String |
Especifica si las solicitudes se reenvían a otro grupo de servidores backend o se redirigen a un HTTPS oyente. El valor puede ser uno de los siguientes:
|
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:
|
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 no se puede especificar cuando action se establece en REDIRECT_TO_POOL. Este parámetro es obligatorio cuando action se establece en REDIRECT_TO_LISTENER, y el oyente debe cumplir los siguientes requisitos:
|
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 |
Muestra las reglas de reenvío de la política de reenvío. Para más detalles, consulte Tabla 3. La lista contiene un máximo de dos reglas y el parámetro type de cada regla debe ser único. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
admin_state_up |
No |
Boolean |
Especifica el estado administrativo de la regla de reenvío. Este parámetro está reservado y el valor predeterminado es true. |
type |
Sí |
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:
El tipo de coincidencia de reglas de reenvío en una política de reenvío debe ser único. |
compare_type |
Sí |
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:
Cuando type se establece en PATH, el valor de este parámetro puede ser uno de los siguientes:
|
invert |
No |
Boolean |
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 |
No |
String |
Especifica la clave del contenido de coincidencia. El valor predeterminado es null. Este parámetro está reservado. |
value |
Sí |
String |
Especifica el valor del contenido de coincidencia. El valor no puede contener espacios.
|
Respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
l7policy |
Object |
Especifica la política de reenvío. Para más detalles, consulte Tabla 5. |
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.
|
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 valor puede ser uno de los siguientes:
|
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 |
Muestra las reglas de reenvío de la política de reenvío. Para más detalles, consulte Tabla 6. |
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. |
Ejemplo de la solicitud
- Ejemplo de solicitud 1: Adición de una política de reenvío
POST https://{Endpoint}/v2.0/lbaas/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.