Adición de un oyente
Función
Esta API se utiliza para agregar un oyente a un balanceador de carga.
Restricciones
El protocolo utilizado por el oyente puede ser TCP, UDP, HTTP o HTTPS.
- Para el equilibrio de carga en la capa 4, el protocolo solo puede ser TCP o UDP.
- Para el equilibrio de carga en la Capa 7, el protocolo solo puede ser HTTP o HTTPS.
- Para el equilibrio de carga tanto en la Capa 4 como en la Capa 7, se admiten TCP, UDP, HTTP y HTTPS. El protocolo QUIC no se admite en la región eu-nl.
URI
POST /v3/{project_id}/elb/listeners
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Especifica el token utilizado para la autenticación IAM. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
listener |
Sí |
CreateListenerOption object |
Especifica el oyente. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
admin_state_up |
No |
Boolean |
Especifica el estado administrativo del oyente. El valor solo puede ser true. Este parámetro no es compatible. Por favor, no lo use. |
default_pool_id |
No |
String |
Especifica el ID del grupo de servidores backend predeterminado. Si no hay ninguna política de reenvío coincidente, las solicitudes se reenviarán al servidor backend predeterminado para su procesamiento. Mínimo: 1 Máximo: 36 |
client_ca_tls_container_ref |
No |
String |
Especifica el ID del certificado de CA utilizado por el oyente. Este parámetro sólo está disponible cuando type se establece en client. El protocolo QUIC no se admite en la región eu-nl. Mínimo: 1 Máximo: 128 |
default_tls_container_ref |
No |
String |
Especifica el ID del certificado de servidor utilizado por el oyente. Este parámetro solo está disponible cuando el protocolo del oyente es HTTPS y type se establece en server. Mínimo: 1 Máximo: 128 |
description |
No |
String |
Proporciona información complementaria sobre el oyente. Mínimo: 0 Máximo: 255 |
http2_enable |
No |
Boolean |
Especifica si usar HTTP/2 si desea que los clientes usen HTTP/2 para comunicarse con el balanceador de carga. Sin embargo, las conexiones entre el balanceador de carga y los servidores backend siguen usando HTTP/1.x de forma predeterminada. Este parámetro solo está disponible para oyentes HTTPS. Para QUIC oyentes, no se puede establecer y la respuesta se fija en true. Si configura este parámetro para oyentes con otros protocolos, no tendrá efecto. El protocolo QUIC no se admite en la región eu-nl. |
insert_headers |
No |
ListenerInsertHeaders object |
Especifica los campos de encabezado HTTP que pueden transmitir la información requerida a los servidores backend. Por ejemplo, el campo de cabecera X-Forwarded-ELB-IP puede transmitir el EIP del balanceador de carga a servidores backend. |
loadbalancer_id |
Sí |
String |
Especifica el ID del balanceador de carga al que se agrega el oyente. Nota: Se puede agregar un oyente a un solo balanceador de carga. Mínimo: 1 Máximo: 36 |
name |
No |
String |
Especifica el nombre de oyente. Mínimo: 0 Máximo: 255 |
project_id |
No |
String |
Especifica el ID del proyecto. Mínimo: 1 Máximo: 32 |
protocol |
Sí |
String |
Especifica el protocolo utilizado por el oyente. El valor puede ser TCP, HTTP, UDP, HTTPS, TERMINATED_HTTPS, o QUIC. Nota:
El protocolo QUIC no se admite en la región eu-nl. |
protocol_port |
Sí |
Integer |
Especifica el puerto utilizado por el oyente. El puerto de oyente QUIC no puede ser 4789 o igual que el puerto de oyente UDP. El protocolo QUIC no se admite en la región eu-nl. Mínimo: 1 Máximo: 65535 |
sni_container_refs |
No |
Array of strings |
Especifica los ID de los certificados SNI (certificados de servidor con nombres de dominio) utilizados por el oyente. Nota:
|
sni_match_algo |
No |
String |
Especifica cómo el nombre de dominio comodín coincide con los certificados SNI utilizados por el oyente. longest_suffix indica la coincidencia de sufijo más larga. wildcard indica la coincidencia de comodín. El valor predeterminado es wildcard. |
tags |
No |
Array of Tag objects |
Muestra las etiquetas. |
tls_ciphers_policy |
No |
String |
Especifica la política de seguridad utilizada por el oyente. Valores: tls-1-0-inherit,tls-1-0, tls-1-1, tls-1-2,tls-1-2-strict, tls-1-2-fs, tls-1-0-with-1-3, tls-1-2-fs-with-1-3, hybrid-policy-1-0, y tls-1-0 (predeterminado). Nota:
El protocolo QUIC no se admite en la región eu-nl. |
security_policy_id |
No |
String |
Especifica el ID de la política de seguridad personalizada. Nota:
El protocolo QUIC no se admite en la región eu-nl. Mínimo: 1 Máximo: 36 |
enable_member_retry |
No |
Boolean |
Especifica si se habilitan los reintentos de comprobación de estado para los servidores backend. El valor puede ser true (habilitar reintentos de comprobación de estado) o false (habilitar reintentos de comprobación de estado). El valor predeterminado es true. Nota:
El protocolo QUIC no se admite en la región eu-nl. |
keepalive_timeout |
No |
Integer |
Especifica la duración del tiempo de espera inactivo, en segundos. Si no hay solicitudes que lleguen al balanceador de carga después de que transcurra el tiempo de espera inactivo, el balanceador de carga desconectará la conexión con el cliente y establecerá una nueva conexión cuando haya una nueva solicitud.
|
client_timeout |
No |
Integer |
Especifica la duración del tiempo de espera de una respuesta de un cliente, en segundos. Hay dos situaciones:
El valor varía de 1 a 300, y el valor predeterminado es 60. Este parámetro solo está disponible para oyentes HTTP y HTTPS. Mínimo: 1 Máximo: 300 Predeterminado: 60 |
member_timeout |
No |
Integer |
Especifica la duración del tiempo de espera de una respuesta de un servidor backend, en segundos. Si el servidor backend no responde después de que transcurra el tiempo de espera, el balanceador de carga dejará de esperar y devolverá el tiempo de espera de la puerta de enlace HTTP 504 al cliente. El valor varía de 1 a 300, y el valor predeterminado es 60. Este parámetro solo está disponible para oyentes HTTP y HTTPS. Mínimo: 1 Máximo: 300 Predeterminado: 60 |
ipgroup |
No |
CreateListenerIpGroupOption object |
Especifica el grupo de direcciones IP asociado al oyente. |
transparent_client_ip_enable |
No |
Boolean |
Especifica si se deben pasar las direcciones IP de origen de los clientes a los servidores backend.
Nota:
|
enhance_l7policy_enable |
No |
Boolean |
Especifica si se habilitará el reenvío avanzado. Si se habilita el reenvío avanzado, se admiten políticas y reglas de reenvío más flexibles. El valor puede ser true (habilitar el reenvío avanzado) o false (habilitar el reenvío avanzado) y el valor predeterminado es false. Se admiten los siguientes escenarios:
|
quic_config |
No |
Especifica la configuración QUIC para el oyente actual. Este parámetro solo es válido cuando protocol se establece en HTTPS. Para un oyente TCP/UDP/HTTP/QUIC, si este parámetro no se deja en blanco, se reportará un error.
NOTA:
El cliente envía una solicitud HTTP normal que contiene información que indica que se admite el protocolo QUIC. Si la actualización de QUIC está habilitada para los oyentes, la información del puerto y la versión de QUIC se agregará al encabezado de respuesta. Cuando el cliente envía solicitudes HTTPS y QUIC al servidor, si la solicitud QUIC se envía con éxito, el protocolo QUIC se utilizará para comunicaciones posteriores. El protocolo QUIC no se admite en la región eu-nl. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Forwarded-ELB-IP |
No |
Boolean |
Especifica si se debe transmitir de forma transparente el EIP del balanceador de carga a los servidores backend. Si X-Forwarded-ELB-IP se establece en true, el balanceador de carga EIP se almacenará en el encabezado HTTP y se pasará a los servidores backend. Predeterminado: false |
X-Forwarded-Port |
No |
Boolean |
Especifica si se debe transmitir de forma transparente el puerto de escucha del balanceador de carga a los servidores backend. Si X-Forwarded-Port se establece en true, el puerto de escucha del balanceador de carga se almacenará en el encabezado HTTP y se pasará a los servidores backend. Predeterminado: false |
X-Forwarded-For-Port |
No |
Boolean |
Especifica si se debe transmitir de forma transparente el puerto de origen del cliente a los servidores backend. Si X-Forwarded-For-Port se establece en true, el puerto de origen del cliente se almacenará en el encabezado HTTP y se pasará a los servidores backend. Predeterminado: false |
X-Forwarded-Host |
No |
Boolean |
Especifica si se debe volver a escribir el encabezado X-Forwarded-Host. Si X-Forwarded-Host se establece en true, X-Forwarded-Host en el encabezado de solicitud de los clientes se puede establecer en Host en el encabezado de solicitud enviado desde el balanceador de carga a los servidores backend. Predeterminado: true |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
No |
String |
Especifica la clave de etiqueta. Mínimo: 1 Máximo: 36 |
value |
No |
String |
Especifica el valor de etiqueta. Mínimo: 0 Máximo: 43 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
ipgroup_id |
Sí |
String |
Especifica el ID del grupo de direcciones IP asociado al oyente.
Mínimo: 1 Máximo: 36 |
enable_ipgroup |
No |
Boolean |
Especifica si se debe habilitar el control de acceso.
|
type |
No |
String |
Especifica cómo se controla el acceso al oyente.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
quic_listener_id |
Sí |
String |
Especifica el ID del QUIC oyente. Especifica el oyente especificado. El quic_listener_id especificado debe existir. El protocolo oyente debe ser QUIC y no se puede establecer en null, de lo contrario, entrará en conflicto con enable_quic_upgrade. QUIC oyentes no se admiten en la región eu-nl. |
enable_quic_upgrade |
No |
Boolean |
Especifica si se debe habilitar la actualización de QUIC. True: la actualización de QUIC está habilitada. Falso (predeterminado): la actualización de QUIC está deshabilitada. HTTPS oyentes se pueden actualizar a QUIC oyentes. QUIC oyentes no se admiten en la región eu-nl. Predeterminado: false |
Parámetros de respuesta
Código de estado: 201
Parámetro |
Tipo |
Descripción |
---|---|---|
request_id |
String |
Especifica el ID de la solicitud. El valor se genera automáticamente. |
listener |
Listener object |
Especifica el oyente. |
Parámetro |
Tipo |
Descripción |
---|---|---|
admin_state_up |
Boolean |
Especifica el estado administrativo del oyente. El valor solo puede ser true. Este parámetro no es compatible. Por favor, no lo use. |
client_ca_tls_container_ref |
String |
Especifica el ID del certificado de CA utilizado por el oyente. Este parámetro sólo está disponible cuando type se establece en client. |
connection_limit |
Integer |
Especifica el número máximo de conexiones que el balanceador de carga puede establecer con los servidores backend. El valor -1 indica que el número de conexiones no está limitado. Este parámetro no es compatible. Por favor, no lo use. |
created_at |
String |
Especifica la hora en que se creó el oyente, en el formato yyyy-MM-dd''T''HH:mm:ss''Z'', por ejemplo, 2021-07-30T12:03:44Z. |
default_pool_id |
String |
Especifica el ID del grupo de servidores backend predeterminado. Si no hay ninguna política de reenvío coincidente, las solicitudes se reenvían al servidor backend predeterminado. |
default_tls_container_ref |
String |
Especifica el ID del certificado de servidor utilizado por el oyente. |
description |
String |
Proporciona información complementaria sobre el oyente. |
http2_enable |
Boolean |
Especifica si usar HTTP/2 si desea que los clientes usen HTTP/2 para comunicarse con el balanceador de carga. Sin embargo, las conexiones entre el balanceador de carga y los servidores backend siguen usando HTTP/1.x de forma predeterminada. Este parámetro solo está disponible para oyentes HTTPS. Para oyentes de QUIC, no se puede establecer y la respuesta se fija en true. Si configura este parámetro para oyentes con otros protocolos, no tendrá efecto.El protocolo QUIC no es compatible con la región eu-nl. |
id |
String |
Especifica el ID de oyente. |
insert_headers |
ListenerInsertHeaders object |
Especifica los campos de encabezado HTTP que pueden transmitir la información requerida a los servidores backend. Por ejemplo, el campo de cabecera X-Forwarded-ELB-IP puede transmitir el EIP del balanceador de carga a servidores backend. |
loadbalancers |
Array of LoadBalancerRef objects |
Especifica el ID del balanceador de carga al que se agrega el oyente. Un oyente se puede agregar a un solo balanceador de carga. |
name |
String |
Especifica el nombre de oyente. |
project_id |
String |
Especifica el ID del proyecto donde se utiliza el oyente. |
protocol |
String |
Especifica el protocolo utilizado por el oyente. El valor puede ser TCP, HTTP, UDP, HTTPS, TERMINATED_HTTPS, o QUIC. Nota:
El protocolo QUIC no se admite en la región eu-nl. |
protocol_port |
Integer |
Especifica el puerto utilizado por el oyente para recibir solicitudes de clientes. Mínimo: 1 Máximo: 65535 |
sni_container_refs |
Array of strings |
Especifica los ID de los certificados SNI (certificados de servidor con nombres de dominio) utilizados por el oyente. Nota:
|
sni_match_algo |
String |
Especifica cómo el nombre de dominio comodín coincide con los certificados SNI utilizados por el oyente. longest_suffix indica la coincidencia de sufijo más larga. wildcard indica la coincidencia de comodín. El valor predeterminado es wildcard. |
tags |
Array of Tag objects |
Muestra las etiquetas. |
updated_at |
String |
Especifica la hora en que se actualizó el oyente, en el formato yyyy-MM-dd''T''HH:mm:ss''Z'', por ejemplo, 2021-07-30T12:03:44Z. |
tls_ciphers_policy |
String |
Especifica la política de seguridad utilizada por el oyente. Valores: tls-1-0-inherit,tls-1-0, tls-1-1, tls-1-2,tls-1-2-strict, tls-1-2-fs, tls-1-0-with-1-3, tls-1-2-fs-with-1-3, hybrid-policy-1-0, y tls-1-0 (predeterminado). Nota:
El protocolo QUIC no se admite en la región eu-nl. |
security_policy_id |
String |
Especifica el ID de la política de seguridad personalizada. Nota:
|
enable_member_retry |
Boolean |
Especifica si se habilitan los reintentos de comprobación de estado para los servidores backend. El valor puede ser true (habilitar reintentos de comprobación de estado) o false (habilitar reintentos de comprobación de estado). El valor predeterminado es true. Nota:
El protocolo QUIC no se admite en la región eu-nl. |
keepalive_timeout |
Integer |
Especifica la duración del tiempo de espera inactivo, en segundos. Si no hay solicitudes que lleguen al balanceador de carga después de que transcurra el tiempo de espera inactivo, el balanceador de carga desconectará la conexión con el cliente y establecerá una nueva conexión cuando haya una nueva solicitud.
|
client_timeout |
Integer |
Especifica la duración del tiempo de espera de una respuesta de un cliente, en segundos. Hay dos situaciones:
El valor varía de 1 a 300, y el valor predeterminado es 60. Este parámetro solo está disponible para oyentes HTTP y HTTPS. |
member_timeout |
Integer |
Especifica la duración del tiempo de espera de una respuesta de un servidor backend, en segundos. Si el servidor backend no responde después de que transcurra el tiempo de espera, el balanceador de carga dejará de esperar y devolverá el tiempo de espera de la puerta de enlace HTTP 504 al cliente. El valor varía de 1 a 300, y el valor predeterminado es 60. Este parámetro solo está disponible para oyentes HTTP y HTTPS. |
ipgroup |
ListenerIpGroup object |
Especifica el grupo de direcciones IP asociado al oyente. |
transparent_client_ip_enable |
Boolean |
Especifica si se deben pasar las direcciones IP de origen de los clientes a los servidores backend.
Nota:
|
enhance_l7policy_enable |
Boolean |
Especifica si se habilitará el reenvío avanzado. El valor puede ser true (habilitar el reenvío avanzado) o false (habilitar el reenvío avanzado) y el valor predeterminado es false.
Este parámetro no está disponible en la región eu-nl. Por favor, no lo use. Predeterminado: false |
quic_config |
ListenerQuicConfig object |
Especifica la configuración QUIC para el oyente actual. Este parámetro solo es válido cuando protocol se establece en HTTPS. Para un oyente TCP/UDP/HTTP/QUIC, si este parámetro no se deja en blanco, se reportará un error.
NOTA:
El cliente envía una solicitud HTTP normal que contiene información que indica que se admite el protocolo QUIC. Si la actualización de QUIC está habilitada para los oyentes, la información del puerto y la versión de QUIC se agregará al encabezado de respuesta. Cuando el cliente envía solicitudes HTTPS y QUIC al servidor, si la solicitud QUIC se envía con éxito, el protocolo QUIC se utilizará para comunicaciones posteriores. El protocolo QUIC no se admite en la región eu-nl. |
Parámetro |
Tipo |
Descripción |
---|---|---|
X-Forwarded-ELB-IP |
Boolean |
Especifica si se debe transmitir de forma transparente el EIP del balanceador de carga a los servidores backend. Si X-Forwarded-ELB-IP se establece en true, el balanceador de carga EIP se almacenará en el encabezado HTTP y se pasará a los servidores backend. Predeterminado: false |
X-Forwarded-Port |
Boolean |
Especifica si se debe transmitir de forma transparente el puerto de escucha del balanceador de carga a los servidores backend. Si X-Forwarded-Port se establece en true, el puerto de escucha del balanceador de carga se almacenará en el encabezado HTTP y se pasará a los servidores backend. Predeterminado: false |
X-Forwarded-For-Port |
Boolean |
Especifica si se debe transmitir de forma transparente el puerto de origen del cliente a los servidores backend. Si X-Forwarded-For-Port se establece en true, el puerto de origen del cliente se almacenará en el encabezado HTTP y se pasará a los servidores backend. Predeterminado: false |
X-Forwarded-Host |
Boolean |
Especifica si se debe volver a escribir el encabezado X-Forwarded-Host. Si X-Forwarded-Host se establece en true, X-Forwarded-Host en el encabezado de solicitud de los clientes se puede establecer en Host en el encabezado de solicitud enviado desde el balanceador de carga a los servidores backend. Predeterminado: true |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID del balanceador de carga. |
Parámetro |
Tipo |
Descripción |
---|---|---|
key |
String |
Especifica la clave de etiqueta. Mínimo: 1 Máximo: 36 |
value |
String |
Especifica el valor de etiqueta. Mínimo: 0 Máximo: 43 |
Parámetro |
Tipo |
Descripción |
---|---|---|
ipgroup_id |
String |
Especifica el ID del grupo de direcciones IP asociado al oyente. Este parámetro es obligatorio cuando se crea el grupo de direcciones IP y es opcional cuando se actualiza el grupo de direcciones IP. El grupo de direcciones IP especificado debe existir y el valor no puede ser null. |
enable_ipgroup |
Boolean |
Especifica si se debe habilitar el control de acceso.
Un oyente con control de acceso habilitado se puede eliminar directamente. |
type |
String |
Especifica cómo se controla el acceso al oyente.
|
Parámetro |
Tipo |
Descripción |
---|---|---|
quic_listener_id |
String |
Especifica el ID del QUIC oyente. Este parámetro es obligatorio para la creación y es opcional para la actualización. El quic_listener_id especificado debe existir. El protocolo oyente debe ser QUIC y no se puede establecer en null, de lo contrario, entrará en conflicto con enable_quic_upgrade. El protocolo QUIC no se admite en la región eu-nl. |
enable_quic_upgrade |
Boolean |
Especifica si se debe habilitar la actualización de QUIC. True: la actualización de QUIC está habilitada. False: la actualización de QUIC está deshabilitada. HTTPS oyentes se pueden actualizar a QUIC oyentes. El protocolo QUIC no se admite en la región eu-nl. |
Ejemplo de las solicitudes
- Ejemplo 1: Adición de un oyente TCP
POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/listeners { "listener" : { "protocol_port" : 80, "protocol" : "TCP", "loadbalancer_id" : "098b2f68-af1c-41a9-8efd-69958722af62", "name" : "My listener", "admin_state_up" : true, "insert_headers" : { "X-Forwarded-ELB-IP" : true } } }
- Ejemplo 2: Adición de un oyente HTTPS
POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/listeners { "listener" : { "protocol_port" : 90, "protocol" : "HTTPS", "loadbalancer_id" : "098b2f68-af1c-41a9-8efd-69958722af62", "name" : "My listener", "admin_state_up" : true, "ipgroup" : { "ipgroup_id" : "0416b6f1-877f-4a51-987e-978b3f083542", "type" : "black" }, "security_policy_id" : "8722e0e0-9cc9-4490-9660-8c9a5732fbb0", "default_tls_container_ref" : "233a325e5e3e4ce8beeb320aa714cc12" } }
Ejemplo de las respuestas
Código de estado: 201
Respuesta normal a las solicitudes POST.
{ "listener" : { "id" : "0b11747a-b139-492f-9692-2df0b1c87193", "name" : "My listener", "protocol_port" : 80, "protocol" : "TCP", "description" : null, "default_tls_container_ref" : null, "admin_state_up" : true, "loadbalancers" : [ { "id" : "098b2f68-af1c-41a9-8efd-69958722af62" } ], "client_ca_tls_container_ref" : null, "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "sni_container_refs" : [ ], "connection_limit" : -1, "member_timeout" : null, "client_timeout" : null, "keepalive_timeout" : null, "default_pool_id" : null, "ipgroup" : null, "tls_ciphers_policy" : "tls-1-0", "tags" : [ ], "created_at" : "2019-04-02T00:12:32Z", "updated_at" : "2019-04-02T00:12:32Z", "http2_enable" : false, "enable_member_retry" : true, "insert_headers" : { "X-Forwarded-ELB-IP" : true }, "transparent_client_ip_enable" : false }, "request_id" : "f4c4aca8-df16-42e8-8836-33e4b8e9aa8e" }
Códigos de estado
Código de estado |
Descripción |
---|---|
201 |
Respuesta normal a las solicitudes POST. |
Códigos de error
Consulte Códigos de error.