功能介绍
修改监听器的信息,目前支持修改名称、描述、管理状态。
URI
PUT /v1.0/{project_id}/elbaas/listeners/{listener_id}
表1 参数说明
参数 |
是否必选 |
参数类型 |
描述 |
project_id |
是 |
String |
操作用户的项目ID。 |
listener_id |
是 |
String |
监听器的ID。 |
name |
否 |
String |
- 监听器的名称。
- 取值范围:1-64 个字符,中英文、数字、下划线、中划线。
|
description |
否 |
String |
- 描述。
- 取值范围:0-128个字符,不能输入<>。
|
port |
否 |
Integer |
|
backend_port |
否 |
Integer |
|
lb_algorithm |
否 |
String |
- 监听器负载均衡方式。
- 取值范围:roundrobin|leastconn |source。
|
tcp_timeout |
否 |
Integer |
- TCP会话超时时间。protocol为TCP,此参数有效。
- 取值范围: 1-1440(单位为分)。
|
tcp_draining |
否 |
Boolean |
- 四层负载均衡器的后端主机删除后,该后端主机的TCP连接是否保持,不中断。protocol为“TCP”时tcp_draining有效。
- 取值范围:true|false。
|
tcp_draining_timeout |
否 |
Integer |
|
udp_timeout |
否 |
Integer |
- UDP会话超时时间。protocol为UDP,此参数有效。
- 取值范围: 1-1440(单位为分)。
|
ssl_protocols |
否 |
String |
- 监听器支持的SSL协议标准,用于启动特定的加密协议。当protocol为HTTPS时,本字段才有效。
- 取值范围:TLS 1.2或TLS 1.2 TLS 1.1 TLS 1.0。默认值为TLS 1.2 。
|
ssl_ciphers |
否 |
String |
- 加密协议的加密套件,当protocol值为HTTPS时,本字段才有效。
- 取值范围:Default或Extended或Strict。
其中,Default对应的加密套件参数值为ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256;
Extended对应的加密套件参数值为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;
Strict对应的加密套件参数值为ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256。
默认值为Default。当ssl_protocols为TLS 1.2 TLS 1.1 TLS 1.0时,本字段只能取值Extended。
|
certificate_id |
否 |
String |
- 缺省的证书ID。如果protocol为HTTPS,该字段为必选字段。
- 取值范围:该ID可通过查询证书列表获取详情。
|
请求消息
- 请求样例
{
"name": "lis",
"description": "",
"port": 9090,
"backend_port": 9090,
"lb_algorithm": "roundrobin"
}
响应消息
- 响应参数
表2 响应参数
参数 |
参数类型 |
描述 |
update_time |
String |
更新时间。 |
backend_port |
Integer |
后端端口。 |
id |
String |
监听器ID,uuid形式的一个资源标识。 |
backend_protocol |
String |
后端协议。 |
sticky_session_type |
String |
- cookie的处理方式,设置为insert表示由ELB插入。protocol为HTTP,session_sticky为true时有效,且默认insert方式。protocol为TCP、UDP时,此参数无效(不传或者为空)。
- 取值范围:insert 。
|
description |
String |
描述。 |
loadbalancer_id |
String |
所属负载均衡器ID。 |
create_time |
String |
创建时间。 |
status |
String |
监听器状态。状态值:ACTIVE,PENDING_CREATE,ERROR。 |
protocol |
String |
监听协议,用于区分四层和七层。 |
port |
Integer |
监听端口。 |
cookie_timeout |
Integer |
- cookie超时时间。session_sticky为true时且sticky_session_type为insert有效。
- 取值范围: 1-1440(单位为分)。
|
admin_state_up |
Boolean |
- 弹性负载均衡器的管理状态,
- 取值范围:
false:停用。
true:正常。
|
healthcheck_id |
String |
健康检查ID。 |
session_sticky |
Boolean |
是否开启会话保持。true为开启会话保持,false为关闭会话保持。仅protocol为HTTP时有效。 |
lb_algorithm |
String |
监听器负载均衡方式。 |
name |
String |
监听器的名称。 |
tcp_draining |
Boolean |
- LVS的member节点删除后,该member的TCP连接是否保持,不中断。protocol为“TCP”时tcp_draining有效。
- 取值范围:true|false。
|
tcp_draining_timeout |
Integer |
|
certificate_id |
String |
用于安全认证的SSL证书的ID。
如果protocol为HTTPS,该字段为必选字段,否则返回值为null。 |
- 响应样例
{
"update_time": "2016-12-01 07:12:59",
"backend_port": 9090,
"id": "a824584fb3ba4d39ba0cf372c7cbbb67",
"backend_protocol": "TCP",
"sticky_session_type": null,
"certificate_id": null,
"description": "",
"loadbalancer_id": "f54c65b1b5dd4a4f95b71b44796ac013",
"create_time": "2016-12-01 07:12:43",
"admin_state_up": false,
"status": "ACTIVE",
"protocol": "TCP",
"cookie_timeout": 100,
"port": 9092,
"tcp_draining": true,
"tcp_timeout": 1,
"lb_algorithm": "roundrobin",
"healthcheck_id": null,
"session_sticky": true,
"tcp_draining_timeout": 5,
"name": "lis"
}
状态码
- 正常
200
- 异常
状态码 |
编码 |
错误码说明 |
400 |
badRequest |
请求错误 |
401 |
unauthorized |
鉴权失败 |
403 |
userDisabled |
没有权限 |
404 |
Not Found |
请求的页面不存在 |
500 |
authFault |
内部错误 |
503 |
serviceUnavailable |
服务不可用 |