更新监听器
功能介绍
更新监听器。包括名称、描述、关联的后端云服务器组、使用的服务器证书等。
接口约束
- 如果监听器关联的负载均衡器的provisioning status不是ACTIVE,则不能更新该监听器。
- 只有管理员用户才能指定connection_limit的值。
- default_pool_id有如下限制:
- 不能更新为其他监听器的default_pool。
- 不能更新为其他监听器的关联的转发策略所使用的pool。
- default_pool_id对应的后端云服务器组的protocol和监听器的protocol有如下关系:
- 监听器的protocol为TCP时,后端云服务器组的protocol必须为TCP。
- 监听器的protocol为UDP时,后端云服务器组的protocol必须为UDP。
- 监听器的protocol为HTTP或TERMINATED_HTTPS时,后端云服务器组的protocol必须为HTTP。
URI
PUT /v2/{project_id}/elb/listeners/{listener_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
操作用户的项目ID。 |
listener_id |
是 |
String |
监听器id。 |
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
listener |
是 |
Object |
监听器对象。详见表3。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
监听器名称。 支持的最大字符长度:255 |
description |
否 |
String |
监听器描述信息。 支持的最大字符长度:255 |
connection_limit |
否 |
Integer |
监听器最大连接数。 取值范围:[-1, 2147483647]。 该字段为预留字段,暂未启用。只有管理员用户可以指定。 |
http2_enable |
否 |
Boolean |
HTTP2功能的开启状态。 取值范围: true/false。 true:开启。false:关闭。 仅针对监听器的协议为TERMINATED_HTTPS有意义。 |
default_pool_id |
否 |
String |
监听器的默认后端云服务器组ID。 当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。当该字段为null时,表示监听器无默认的后端云服务器组。
default_pool_id有如下限制:
监听器和与之绑定的后端云服务器的对应关系如下:
|
admin_state_up |
否 |
Boolean |
监听器的管理状态。 该字段为预留字段,暂未启动。只支持设定为true。 |
default_tls_container_ref |
否 |
String |
监听器使用的服务器证书ID。 支持的最大字符长度:128 当protocol参数为TERMINATED_HTTPS时,为必选字段。 |
client_ca_tls_container_ref |
否 |
String |
监听器使用的CA证书ID。 支持的最大字符长度:128 |
sni_container_refs |
否 |
Array |
监听器使用的SNI证书(带域名的服务器证书)ID的列表。 该字段不为空列表时,SNI特性开启。该字段为空列表时,SNI特性关闭。 |
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
listener |
Object |
监听器对象。详见表5。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
监听器ID。 |
tenant_id |
String |
监听器所在的项目ID。 支持的最大字符长度:255 |
name |
String |
监听器名称。 支持的最大字符长度:255 |
description |
String |
监听器描述信息。 支持的最大字符长度:255 |
protocol |
String |
监听器的监听协议。 支持TCP、HTTP、UDP、TERMINATED_HTTPS。 |
protocol_port |
Integer |
监听器的监听端口。 取值范围:[1, 65535]。 |
loadbalancers |
Array |
监听器关联的负载均衡器 ID。详细参见表6。 |
connection_limit |
Integer |
监听器的最大连接数。 取值范围:[-1, 2147483647]。默认为-1,无连接数限制。 该字段为预留字段,暂未启动。 |
admin_state_up |
Boolean |
监听器的管理状态。 该字段为预留字段,暂未启动。只支持设定为true。 |
http2_enable |
Boolean |
HTTP2功能的开启状态。 取值范围: true/false。 true:开启。false:关闭。 仅针对监听器的协议为TERMINATED_HTTPS有意义。 |
default_pool_id |
String |
监听器的默认后端云服务器组ID。 当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。当该字段为null时,表示监听器无默认的后端云服务器组。 |
default_tls_container_ref |
String |
监听器使用的服务器证书ID。详细参见SSL证书管理。 当protocol参数为TERMINATED_HTTPS时,为必选字段。 支持的最大字符长度:128 |
client_ca_tls_container_ref |
String |
监听器使用的CA证书ID。 支持的最大字符长度:128 详细参见SSL证书管理。 |
sni_container_refs |
Array |
监听器使用的SNI证书(带域名的服务器证书)ID的列表。 该字段不为空列表时,SNI特性开启。该字段为空列表时,SNI特性关闭。 |
tags |
Array |
监听器的标签。 |
created_at |
String |
监听器的创建时间。YYYY-MM-DDTHH:MM:SS |
updated_at |
String |
监听器的更新时间。YYYY-MM-DDTHH:MM:SS |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
是 |
String |
关联的负载均衡器id |
请求示例
- 请求样例 更新监听器
PUT https://{Endpoint}/v2/601240b9c5c94059b63d484c92cfe308/elb/listeners/f622c150-72f5-4263-a47a-e5003c652aa3 { "listener": { "description": "my listener", "name": "listener-jy-test2", "default_pool_id": "c61310de-9a06-4f0c-850c-6f4797b9984c", "default_tls_container_ref": "23b58a961a4d4c95be585e98046e657a", "client_ca_tls_container_ref": "417a0976969f497db8cbb083bff343ba" } }
响应示例
- 响应样例
{ "listener": { "client_ca_tls_container_ref": "417a0976969f497db8cbb083bff343ba", "protocol": "TERMINATED_HTTPS", "description": "my listener", "default_tls_container_ref": "23b58a961a4d4c95be585e98046e657a", "admin_state_up": true, "http2_enable": false, "loadbalancers": [ { "id": "165b6a38-5278-4569-b747-b2ee65ea84a4" } ], "tenant_id": "601240b9c5c94059b63d484c92cfe308", "sni_container_refs": [], "connection_limit": -1, "protocol_port": 443, "tags": [], "default_pool_id": "c61310de-9a06-4f0c-850c-6f4797b9984c", "id": "f622c150-72f5-4263-a47a-e5003c652aa3", "name": "listener-jy-test2", "created_at": "2018-07-25T01:54:13", "updated_at": "2018-07-25T01:54:14" } }
返回码
请参见负载均衡返回码说明。