更新监听器
功能介绍
更新监听器。
接口约束
如果listener关联的load balancer的provisioning 状态不是ACTIVE,则不能更新该listener。
只有管理员用户才能指定connection_limit的值。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v3/{project_id}/elb/listeners/{listener_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
listener_id |
是 |
String |
监听器ID。 |
project_id |
是 |
String |
租户ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
IAM鉴权Token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
listener |
是 |
UpdateListenerOption object |
监听器对象。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
admin_state_up |
否 |
Boolean |
监听器的管理状态。只能设置为true。 不支持该字段,请勿使用。 |
client_ca_tls_container_ref |
否 |
String |
监听器使用的CA证书ID。仅客户端证书有效,其他类型证书无效。 正则匹配:[0-9a-fA-F]{32} |
default_pool_id |
否 |
String |
监听器的默认后端云服务器组ID。当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。 最小长度:1 最大长度:36 |
default_tls_container_ref |
否 |
String |
监听器使用的服务器证书ID。 使用说明:
正则匹配:[0-9a-fA-F]{32} |
description |
否 |
String |
监听器的描述信息。 最小长度:0 最大长度:255 |
http2_enable |
否 |
Boolean |
客户端与LB之间的HTTPS请求的HTTP2功能的开启状态。开启后,可提升客户端与LB间的访问性能,但LB与后端服务器间仍采用HTTP1.X协议。QUIC监听器该字段默认为true,不可修改。 非HTTPS/QUIC协议的监听器该字段无效,无论取值如何都不影响监听器正常运行。 |
insert_headers |
否 |
ListenerInsertHeaders object |
可选的HTTP头插入,可以将从负载均衡器到后端云服务器的路径中需要被后端云服务器用到的信息写入HTTP中,随报文传递到后端云服务器。例如可通过X-Forwarded-ELB-IP开关,将负载均衡器的弹性公网IP传到后端云服务器。 |
name |
否 |
String |
监听器的名称。 最小长度:0 最大长度:255 |
sni_container_refs |
否 |
Array of strings |
监听器使用的SNI证书(带域名的服务器证书)ID列表。 使用说明:
|
tls_ciphers_policy |
否 |
String |
监听器使用的安全策略,仅对HTTPS协议类型的监听器有效。 取值: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。 使用说明:
|
security_policy_id |
否 |
String |
自定义安全策略的ID。 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 使用说明:
最小长度:1 最大长度:36 |
enable_member_retry |
否 |
Boolean |
是否开启后端服务器的重试。取值:true 开启重试,false 不开启重试。 使用说明:
|
member_timeout |
否 |
Integer |
等待后端服务器响应超时时间。请求转发后端服务器后,在等待超时member_timeout时长没有响应,负载均衡将终止等待,并返回 HTTP504错误码。 取值:1-300s。 使用说明:
最小值:1 最大值:300 |
client_timeout |
否 |
Integer |
等待客户端请求超时时间,仅限协议为HTTP/HTTPS/QUIC的监听器配置。取值范围为1-300s, 默认值为60s TCP,UDP协议的监听器不支持此字段 最小值:1 最大值:300 |
keepalive_timeout |
否 |
Integer |
客户端连接空闲超时时间。在超过keepalive_timeout时长一直没有请求,负载均衡会暂时中断当前连接,直到一下次请求时重新建立新的连接。取值:
|
ipgroup |
否 |
UpdateListenerIpGroupOption object |
listener对象中的ipgroup信息 |
transparent_client_ip_enable |
否 |
Boolean |
是否透传客户端IP地址。开启后客户端IP地址将透传到后端服务器。 仅作用于共享型LB的TCP/UDP监听器。取值:
使用说明:
|
enhance_l7policy_enable |
否 |
Boolean |
是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。取值:true开启,false不开启。 开启后支持如下场景:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Forwarded-ELB-IP |
否 |
Boolean |
X-Forwarded-ELB-IP设为true可以将ELB实例的eip地址从报文的http头中带到后端云服务器。 缺省值:false |
X-Forwarded-Port |
否 |
Boolean |
X-Forwarded-Port设为true可以将ELB实例的监听端口从报文的http头中带到后端云服务器。 缺省值:false |
X-Forwarded-For-Port |
否 |
Boolean |
X-Forwarded-For-Port设为true可以将客户端的源端口从报文的http头中带到后端云服务器。 缺省值:false |
X-Forwarded-Host |
否 |
Boolean |
X-Forwarded-Host设为true可以将客户请求头的X-Forwarded-Host设置为请求头的Host带到后端云服务器。 缺省值:true |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ipgroup_id |
否 |
String |
监听器关联的访问控制组的id。 创建时必选,更新时非必选。 指定的ipgroup必须已存在,不能指定为null,否则与enable_ipgroup冲突。 最小长度:1 最大长度:36 |
enable_ipgroup |
否 |
Boolean |
访问控制组的状态。 True:开启访问控制; False:关闭访问控制; 开启访问控制的监听器,允许直接删除。 |
type |
否 |
String |
访问控制组的类型。 white:白名单,只允许指定ip访问; black:黑名单,不允许指定ip访问; |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
request_id |
String |
请求ID。 注:自动生成 。 |
listener |
Listener object |
监听器对象。 |
参数 |
参数类型 |
描述 |
---|---|---|
admin_state_up |
Boolean |
监听器的管理状态。只能设置为true。 不支持该字段,请勿使用。 |
client_ca_tls_container_ref |
String |
监听器使用的CA证书ID。仅客户端证书有效,其他类型证书无效。 |
connection_limit |
Integer |
监听器的最大连接数。取值:-1表示不限制,默认为-1。 不支持该字段,请勿使用。 |
created_at |
String |
监听器的创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',如:2021-07-30T12:03:44Z |
default_pool_id |
String |
监听器的默认后端云服务器组ID。当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。 |
default_tls_container_ref |
String |
监听器使用的服务器证书ID。 |
description |
String |
监听器的描述信息。 |
http2_enable |
Boolean |
客户端与LB之间的HTTPS请求的HTTP2功能的开启状态。开启后,可提升客户端与LB间的访问性能,但LB与后端服务器间仍采用HTTP1.X协议。 其他协议的监听器该字段无效,无论取值如何都不影响监听器正常运行。 |
id |
String |
监听器ID。 |
insert_headers |
ListenerInsertHeaders object |
可选的HTTP头插入,可以将从负载均衡器到后端云服务器的路径中需要被后端云服务器用到的信息写入HTTP中,随报文传递到后端云服务器。例如可通过X-Forwarded-ELB-IP开关,将负载均衡器的弹性公网IP传到后端云服务器。 |
loadbalancers |
Array of LoadBalancerRef objects |
监听器所属的负载均衡器的ID列表。一个监听器只支持关联到一个LB。 |
name |
String |
监听器的名称。 |
project_id |
String |
监听器所在的项目ID。 |
protocol |
String |
监听器的监听协议。 取值:TCP、UDP、HTTP、HTTPS、TERMINATED_HTTPS。 使用说明:
|
protocol_port |
Integer |
监听器的前端监听端口。客户端将请求发送到该端口中。 最小值:1 最大值:65535 |
sni_container_refs |
Array of strings |
监听器使用的SNI证书(带域名的服务器证书)ID列表。 使用说明:
|
tags |
Array of Tag objects |
标签列表。 |
updated_at |
String |
监听器的更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',如:2021-07-30T12:03:44Z |
tls_ciphers_policy |
String |
监听器使用的安全策略,仅对HTTPS协议类型的监听器有效。 取值: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,默认:tls-1-0。 使用说明:
|
security_policy_id |
String |
自定义安全策略的ID。仅关联LB为独享型时有效。 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 |
enable_member_retry |
Boolean |
是否开启后端服务器的重试。取值:true 开启重试,false 不开启重试。默认:true。 使用说明:
|
keepalive_timeout |
Integer |
客户端连接空闲超时时间。在超过keepalive_timeout时长一直没有请求,负载均衡会暂时中断当前连接,直到一下次请求时重新建立新的连接。取值:
|
client_timeout |
Integer |
等待客户端请求超时时间,包括两种情况:
取值范围为1-300s,默认值为60s。 使用说明:
|
member_timeout |
Integer |
等待后端服务器响应超时时间。请求转发后端服务器后,在等待超时member_timeout时长没有响应,负载均衡将终止等待,并返回 HTTP504错误码。 取值:1-300s,默认为60s。 使用说明:
|
ipgroup |
ListenerIpGroup object |
listener对象中的ipgroup信息 |
transparent_client_ip_enable |
Boolean |
是否透传客户端IP地址。开启后客户端IP地址将透传到后端服务器。仅作用于共享型LB的TCP/UDP监听器。取值:
使用说明:
|
enhance_l7policy_enable |
Boolean |
是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。取值:true开启,false不开启,默认false。 开启后支持如下场景:
缺省值:false |
参数 |
参数类型 |
描述 |
---|---|---|
X-Forwarded-ELB-IP |
Boolean |
X-Forwarded-ELB-IP设为true可以将ELB实例的eip地址从报文的http头中带到后端云服务器。 缺省值:false |
X-Forwarded-Port |
Boolean |
X-Forwarded-Port设为true可以将ELB实例的监听端口从报文的http头中带到后端云服务器。 缺省值:false |
X-Forwarded-For-Port |
Boolean |
X-Forwarded-For-Port设为true可以将客户端的源端口从报文的http头中带到后端云服务器。 缺省值:false |
X-Forwarded-Host |
Boolean |
X-Forwarded-Host设为true可以将客户请求头的X-Forwarded-Host设置为请求头的Host带到后端云服务器。 缺省值:true |
请求示例
PUT https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/listeners/0b11747a-b139-492f-9692-2df0b1c87193 { "listener" : { "description" : "My listener update.", "name" : "My listener", "http2_enable" : true } }
响应示例
状态码: 200
操作正常返回。
{ "listener" : { "id" : "0b11747a-b139-492f-9692-2df0b1c87193", "name" : "My listener", "protocol_port" : 80, "protocol" : "TCP", "description" : "My listener update.", "default_tls_container_ref" : null, "admin_state_up" : true, "loadbalancers" : [ { "id" : "098b2f68-af1c-41a9-8efd-69958722af62" } ], "member_timeout" : null, "client_timeout" : null, "keepalive_timeout" : 300, "client_ca_tls_container_ref" : null, "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "sni_container_refs" : [ ], "connection_limit" : -1, "default_pool_id" : null, "tls_ciphers_policy" : "tls-1-0", "tags" : [ ], "created_at" : "2019-04-02T00:12:32Z", "updated_at" : "2019-04-02T17:43:46Z", "http2_enable" : true, "ipgroup" : null, "insert_headers" : { "X-Forwarded-ELB-IP" : true, "X-Forwarded-Host" : true, "X-Forwarded-For-Port" : false, "X-Forwarded-Port" : false }, "transparent_client_ip_enable" : false }, "request_id" : "5d56d89a-2271-4a75-8c02-804e3bc7b671" }
状态码
状态码 |
描述 |
---|---|
200 |
操作正常返回。 |
错误码
请参见错误码。
