Adición de un oyente
Función
Esta API se utiliza para agregar un oyente a un balanceador de carga.
URI
POST /v2.0/lbaas/listeners
Solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
listener |
Sí |
Object |
Especifica el oyente. Para más detalles, consulte Tabla 2. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
tenant_id |
No |
String |
Especifica el ID del proyecto donde se utiliza el oyente. El valor debe ser el mismo que el valor de project_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 el oyente. 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 oyente. El valor contiene un máximo de 255 caracteres. |
description |
No |
String |
Proporciona información complementaria sobre el oyente. El valor contiene un máximo de 255 caracteres. |
protocol |
Sí |
String |
Especifica el protocolo utilizado por el oyente. El valor puede ser TCP, HTTP, UDP o TERMINATED_HTTPS. |
protocol_port |
Sí |
Integer |
Especifica el puerto utilizado por el oyente. El número de puerto se encuentra dentro del rango de 1 a 65535.
NOTA:
Si el protocolo utilizado por el oyente es UDP, el número de puerto no puede ser 4789. |
loadbalancer_id |
Sí |
String |
Especifica el ID del balanceador de carga asociado. |
connection_limit |
No |
Integer |
Especifica el número máximo de conexiones. El valor oscila entre -1 y 2147483647. El valor predeterminado es -1, lo que indica que no hay restricción en el número máximo de conexiones. Este parámetro está reservado. |
admin_state_up |
No |
Boolean |
Especifica el estado administrativo del oyente. Este parámetro está reservado y el valor predeterminado es true. |
http2_enable |
No |
Boolean |
Especifica si se debe usar HTTP/2. El valor puede ser true o false.
El valor predeterminado es false. Este parámetro es válido solo cuando el protocolo utilizado por el oyente se establece en TERMINATED_HTTPS. |
default_pool_id |
No |
String |
Especifica el ID del grupo de servidores backend asociado. Si una solicitud no coincide con la política de reenvío, la solicitud se reenvía al grupo de servidores backend predeterminado para su procesamiento. Si el valor es null, el oyente no tiene un grupo de servidores backend predeterminado.
Este parámetro tiene las siguientes restricciones:
Las relaciones entre el protocolo utilizado por el oyente y el protocolo del grupo de servidores backend son las siguientes:
|
default_tls_container_ref |
No |
String |
Especifica el ID del certificado de servidor utilizado por el oyente. Este parámetro es obligatorio cuando protocol se establece en TERMINATED_HTTPS. El valor predeterminado es null cuando el protocolo no está establecido en TERMINATED_HTTPS. El valor contiene un máximo de 128 caracteres.
NOTA:
Este parámetro sólo es válido cuando protocol se establece en TERMINATED_HTTPS. |
client_ca_tls_container_ref |
No |
String |
Especifica el ID del certificado de CA utilizado por el oyente. El valor predeterminado es null. El valor contiene un máximo de 128 caracteres.
NOTA:
Este parámetro sólo es válido cuando protocol se establece en TERMINATED_HTTPS. |
sni_container_refs |
No |
Array |
Enumera los ID de los certificados SNI (certificados de servidor con nombres de dominio) utilizados por el oyente. Si el valor del parámetro es una lista vacía, la función SNI está deshabilitada. El valor predeterminado es [].
NOTA:
Este parámetro sólo es válido cuando protocol se establece en TERMINATED_HTTPS. |
tls_ciphers_policy |
No |
String |
Especifica la política de seguridad utilizada por el oyente. Este parámetro es válido solo cuando el protocolo utilizado por el oyente se establece en TERMINATED_HTTPS. El valor puede ser tls-1-0-inherit, tls-1-0, tls-1-1, tls-1-2, o tls-1-2-strict, y el valor predeterminado es tls-1-0. Para obtener más información sobre conjuntos de cifrado para cada política de seguridad, consulte Tabla 3. |
Política de seguridad |
Versión de TLS |
Suite de cifrado |
---|---|---|
tls-1-0-inherit |
TLS 1.2 TLS 1.1 TLS 1.0 |
ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-SHA:AES256-SHA:DHE-DSS-AES128-SHA:CAMELLIA128-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA:ECDHE-RSA-RC4-SHA:RC4-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:CAMELLIA256-SHA:EDH-DSS-DES-CBC3-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA |
tls-1-0 |
TLS 1.2 TLS 1.1 TLS 1.0 |
ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-SHA:AES256-SHA |
tls-1-1 |
TLS 1.2 TLS 1.1 |
|
tls-1-2 |
TLS 1.2 |
|
tls-1-2-strict |
TLS 1.2 |
ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384 |
Respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
listener |
Object |
Especifica el oyente. Para más detalles, consulte Tabla 5. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID de oyente. |
tenant_id |
String |
Especifica el ID del proyecto donde se utiliza el oyente. |
project_id |
String |
Especifica el ID del proyecto al que pertenece el oyente. Este parámetro tiene el mismo significado que tenant_id. |
name |
String |
Especifica el nombre de oyente. |
description |
String |
Proporciona información complementaria sobre el oyente. |
protocol |
String |
Especifica el protocolo utilizado por el oyente. El valor puede ser TCP, HTTP, UDP o TERMINATED_HTTPS. |
protocol_port |
Integer |
Especifica el puerto utilizado por el oyente. El número de puerto se encuentra dentro del rango de 1 a 65535. |
loadbalancers |
Array |
Especifica el ID del balanceador de carga asociado. Para más detalles, consulte Tabla 6. |
connection_limit |
Integer |
Especifica el número máximo de conexiones. El valor oscila entre -1 y 2147483647. El valor predeterminado es -1, lo que indica que no hay restricción en el número máximo de conexiones. Este parámetro está reservado. |
admin_state_up |
Boolean |
Especifica el estado administrativo del oyente. Este parámetro está reservado. El valor puede ser true o false.
|
http2_enable |
Boolean |
Especifica si se debe usar HTTP/2. El valor puede ser true o false.
Este parámetro es válido solo cuando el protocolo utilizado por el oyente se establece en TERMINATED_HTTPS. |
default_pool_id |
String |
Especifica el ID del grupo de servidores backend asociado. Si una solicitud no coincide con la política de reenvío, la solicitud se reenvía al grupo de servidores backend predeterminado para su procesamiento. Si el valor es null, el oyente no tiene un grupo de servidores backend predeterminado. |
default_tls_container_ref |
String |
Especifica el ID del certificado de servidor utilizado por el oyente. Para más detalles, consulte Certificado. Este parámetro es obligatorio cuando protocol se establece en TERMINATED_HTTPS. |
client_ca_tls_container_ref |
String |
Especifica el ID del certificado de CA utilizado por el oyente. Para más detalles, consulte Certificado. |
sni_container_refs |
Array |
Enumera los ID de los certificados SNI (certificados de servidor con nombres de dominio) utilizados por el oyente. Si el valor del parámetro es una lista vacía, la función SNI está deshabilitada. |
tags |
Array |
Etiquetas al oyente. |
created_at |
String |
Especifica la hora a la que se creó el oyente. La hora UTC está en formato YYYY-MM-DDTHH:MM:SS. |
updated_at |
String |
Especifica la hora a la que se actualizó el oyente. La hora UTC está en formato YYYY-MM-DDTHH:MM:SS. |
tls_ciphers_policy |
String |
Especifica la política de seguridad utilizada por el oyente. Este parámetro es válido solo cuando el protocolo utilizado por el oyente se establece en TERMINATED_HTTPS. El valor puede ser tls-1-0-inherit, tls-1-0, tls-1-1, tls-1-2, o tls-1-2-strict, y el valor predeterminado es tls-1-0. Para obtener más información sobre conjuntos de cifrado para cada política de seguridad, consulte Tabla 3. |
Ejemplo de la solicitud
- Ejemplo de solicitud 1: Adición de un oyente TCP
POST https://{Endpoint}/v2.0/lbaas/listeners { "listener": { "protocol_port": 80, "protocol": "TCP", "loadbalancer_id": "0416b6f1-877f-4a51-987e-978b3f084253", "name": "listener-test", "admin_state_up": true } }
- Ejemplo de solicitud 2: Adición de un oyente HTTPS
POST https://{Endpoint}/v2.0/lbaas/listeners { "listener": { "protocol_port": 25, "protocol": "TERMINATED_HTTPS", "default_tls_container_ref": "02dcd56799e045bf8b131533cc911dd6", "loadbalancer_id": "0416b6f1-877f-4a51-987e-978b3f084253", "name": "listener-test", "admin_state_up": true } }
Ejemplo de la respuesta
- Ejemplo de respuesta 1
{ "listener": { "protocol_port": 80, "protocol": "TCP", "description": "", "client_ca_tls_container_ref": null, "default_tls_container_ref": null, "admin_state_up": true, "http2_enable": false, "loadbalancers": [ { "id": "0416b6f1-877f-4a51-987e-978b3f084253" } ], "tenant_id": "145483a5107745e9b3d80f956713e6a3", "project_id": "145483a5107745e9b3d80f956713e6a3", "sni_container_refs": [], "connection_limit": -1, "default_pool_id": null, "tags": [], "id": "b7f32b52-6f17-4b16-9ec8-063d71b653ce", "name": "listener-test", "created_at": "2018-07-25T01:54:13", "updated_at": "2018-07-25T01:54:14" } }
- Ejemplo de respuesta 2
{ "listener": { "protocol_port": 25, "protocol": "TERMINATED_HTTPS", "description": "", "default_tls_container_ref": "02dcd56799e045bf8b131533cc911dd6", "sni_container_refs": [], "loadbalancers": [ { "id": "0416b6f1-877f-4a51-987e-978b3f084253" } ], "tenant_id": "601240b9c5c94059b63d484c92cfe308", "project_id": "601240b9c5c94059b63d484c92cfe308", "created_at": "2019-01-21T12:38:31", "client_ca_tls_container_ref": null, "connection_limit": -1, "updated_at": "2019-01-21T12:38:31", "http2_enable": false, "admin_state_up": true, "default_pool_id": null, "id": "b56634cd-5ba8-460e-b5a2-6de5ba8eaf60", "tags": [], "name": "listener-test" } }
Código de estado
Para más detalles, consulte Códigos de estado.