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 un oyente

Función

Esta API se utiliza para agregar un oyente a un balanceador de carga.

Restricciones

  • Sólo los usuarios con los permisos de administrador ELB pueden especificar el valor de connection_limit.
  • El valor del protocol puede ser TCP, HTTP, UDP, o TERMINATED_HTTPS.

URI

POST /v2/{project_id}/elb/listeners

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

listener

Listener object

Especifica el oyente. Para más detalles, consulte Tabla 3.

Tabla 3 Descripción del parámetro listener

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.

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

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.

NOTA:

Si el protocolo utilizado por el oyente es UDP, el número de puerto no puede ser 4789.

loadbalancer_id

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.

  • true: se usará HTTP/2.
  • false: no se usará HTTP/2.

El valor predeterminado es false.

Este parámetro solo tiene efecto 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.

El parámetro default_pool_id tiene las siguientes restricciones:
  • Su valor no puede ser el ID de ningún grupo de servidores backend de otros oyentes.
  • Su valor no puede ser el ID de ningún grupo de servidores backend asociado con las políticas de reenvío establecidas para otros oyentes.
Las relaciones entre el protocolo del grupo de servidores backend y el protocolo utilizado por el oyente son las siguientes:
  • Cuando el protocolo utilizado por el oyente es TCP, el protocolo del grupo de servidores backend debe ser TCP.
  • Cuando el protocolo utilizado por el oyente es UDP, el protocolo del grupo de servidores backend debe ser UDP.
  • Cuando el protocolo utilizado por el oyente es HTTP o TERMINATED_HTTPS, el protocolo del grupo de servidores backend debe ser HTTP.

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 solo tiene efecto cuando el protocolo utilizado por el oyente 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 solo tiene efecto cuando el protocolo utilizado por el oyente 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 solo tiene efecto cuando el protocolo utilizado por el oyente se establece en TERMINATED_HTTPS.

tls_ciphers_policy

No

String

Especifica la política de seguridad utilizada por el oyente. Este parámetro solo tiene efecto 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 4.

Tabla 4 Descripción de parámetro tls_ciphers_policy

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

Tabla 5 Parámetros de respuesta

Parámetro

Tipo

Descripción

listener

Listener object

Especifica el oyente. Para más detalles, consulte Tabla 6.

Tabla 6 Descripción del parámetro listener

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.

El valor contiene un máximo de 255 caracteres.

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.

El valor contiene un máximo de 255 caracteres.

description

String

Proporciona información complementaria sobre el oyente.

El valor contiene un máximo de 255 caracteres.

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 of Loadbalancers objects

Especifica el ID del balanceador de carga asociado. Para más detalles, consulte Tabla 7.

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.

  • true: habilitar
  • false: deshabilitar

http2_enable

Boolean

Especifica si se debe usar HTTP/2.

El valor puede ser true o false.

  • true: se utiliza HTTP/2.
  • false: no se utiliza HTTP/2.

Este parámetro solo tiene efecto 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.

El valor contiene un máximo de 128 caracteres.

client_ca_tls_container_ref

String

Especifica el ID del certificado de CA utilizado por el oyente.

El valor contiene un máximo de 128 caracteres.

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

Etiqueta al oyente.

created_at

String

Especifica la hora a la que se creó el oyente.YYYY-MM-DDTHH:MM:SS

updated_at

String

Especifica la hora a la que se actualizó el oyente.YYYY-MM-DDTHH:MM:SS

tls_ciphers_policy

String

Especifica la política de seguridad utilizada por el oyente. Este parámetro solo tiene efecto 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. Enumera los conjuntos de cifrado utilizados por cada política de seguridad. Para más detalles, consulte Tabla 8.

Tabla 7 Descripción de parámetro loadbalancers

Parámetro

Obligatorio

Tipo

Descripción

id

String

Especifica el ID del balanceador de carga asociado.

Tabla 8 Descripción de parámetro tls_ciphers_policy

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

Ejemplo de la solicitud

  • Ejemplo de solicitud 1: Adición de un oyente TCP
    POST https://{Endpoint}/v2/145483a5107745e9b3d80f956713e6a3/elb/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 con protocol establecido en TERMINATED_HTTPS
    POST https://{Endpoint}/v2/601240b9c5c94059b63d484c92cfe308/elb/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": {
            "insert_headers": {},
            "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"
        }
    }
  • Ejemplo de respuesta 3
    {
        "listener": {
            "insert_headers": {},
            "protocol_port": 27,
            "protocol": "TERMINATED_HTTPS",
            "description": "",
            "default_tls_container_ref": "02dcd56799e045bf8b131533cc911dd6",
            "sni_container_refs": [
                "5882325fd6dd4b95a88d33238d293a0f",
                "e15d1b5000474adca383c3cd9ddc06d4"
            ],
            "loadbalancers": [
                {
                    "id": "6bb85e33-4953-457a-85a9-336d76125b7b"
                }
            ],
            "tenant_id": "601240b9c5c94059b63d484c92cfe308",
            "project_id": "601240b9c5c94059b63d484c92cfe308",
            "created_at": "2019-01-21T12:43:55", 
            "client_ca_tls_container_ref": null,
            "connection_limit": -1,
            "updated_at": "2019-01-21T12:43:55",
            "http2_enable": false,
            "admin_state_up": true,
            "default_pool_id": null,
            "id": "b2cfda5b-52fe-4320-8845-34e8d4dac2c7",
            "tags": [],
            "name": "listener-test"
        }
    }

Código de estado

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