功能介绍
给负载均衡器下创建监听器,用于监听后端云服务器的状态。
URI
POST /v1.0/{project_id}/elbaas/listeners
表1 参数说明
参数 |
是否必选 |
参数类型 |
描述 |
project_id |
是 |
String |
操作用户的项目ID。 |
name |
是 |
String |
- 监听器的名称。
- 取值范围:1-64个字符,中英文、数字、下划线、中划线。
|
description |
否 |
String |
- 描述。
- 取值范围:0-128个字符,不能输入<>。
|
loadbalancer_id |
是 |
String |
所属负载均衡器ID。 |
protocol |
是 |
String |
|
port |
是 |
Integer |
|
backend_protocol |
是 |
String |
|
backend_port |
是 |
Integer |
|
lb_algorithm |
是 |
String |
- 监听器负载均衡方式。
- 取值范围:roundrobin|leastconn |source。
|
session_sticky |
否 |
Boolean |
- 是否开启会话保持。true为开启会话保持,false为关闭会话保持。
- 取值范围:true|false。
- 当protocol值为HTTP、HTTPS或TCP且lb_algorithm不等于roundrobin时,该值只能为false。
|
sticky_session_type |
否 |
String |
- cookie的处理方式,设置为insert表示由ELB插入。protocol为HTTP,session_sticky为true时有效,且默认insert方式。protocol为TCP、UDP时,此参数无效(不传或者为空)。
- 取值范围:insert 。
|
cookie_timeout |
否 |
Integer |
- cookie超时时间。protocol为HTTP,session_sticky为true时且sticky_session_type为insert有效。protocol为TCP、UDP时,此参数无效。
- 取值范围: 1-1440(单位为分)。
|
tcp_timeout |
否 |
Integer |
- TCP会话超时时间。protocol为TCP,此参数有效。
- 取值范围: 1-1440(单位为分)。
|
tcp_draining |
否 |
Boolean |
- 四层负载均衡器的后端主机删除后,该后端主机的TCP连接是否保持,不中断。protocol为“TCP”时tcp_draining有效。
- 取值范围:true|false。
|
tcp_draining_timeout |
否 |
Integer |
|
certificate_id |
否 |
String |
- 如protocol为HTTPS,该字段为必选字段。
- 取值范围:该ID可通过查询证书列表来获取。
|
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。
|
请求消息
- 请求样例
{
"name": "listener1",
"description": "",
"loadbalancer_id": "0b07acf06d243925bc24a0ac7445267a",
"protocol": "HTTP",
"port": 88,
"backend_protocol": "HTTP",
"backend_port": 80,
"lb_algorithm": "roundrobin",
"session_sticky": true,
"sticky_session_type": "insert",
"cookie_timeout": 100,
"tcp_draining": true,
"tcp_draining_timeout": 5
}
响应消息
- 响应参数
表2 响应参数
参数 |
参数类型 |
描述 |
update_time |
String |
更新时间。 |
backend_port |
Integer |
后端端口。 |
id |
String |
监听器ID。 |
backend_protocol |
String |
后端协议。 |
sticky_session_type |
String |
cookie的处理方式,设置为insert表示由ELB插入。session_sticky为true时有效,且默认insert方式。仅protocol为HTTP时有效。 |
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:正常。
|
session_sticky |
Boolean |
是否开启会话保持。true为开启会话保持,false为关闭会话保持。 |
lb_algorithm |
String |
监听器负载均衡方式。 |
name |
String |
监听器的名称。 |
tcp_draining |
Boolean |
- 四层负载均衡器的后端云服务器删除后,该云服务器的TCP连接是否保持,不中断。protocol为“TCP”时tcp_draining有效。
- 取值范围:true、false。
|
tcp_draining_timeout |
Integer |
|
ssl_protocols |
String |
- 监听器支持的SSL协议标准,用于启动特定的加密协议。
- 该字段仅protocol为HTTPS时返回。
|
ssl_ciphers |
String |
- 加密协议的加密套件。
- 该字段仅protocol为HTTPS时返回。
|
certificate_id |
String |
- 缺省的证书ID。
- 该字段仅protocol为HTTPS时返回。
|
- 响应样例
{
"update_time": "2015-09-15 07:41:17",
"backend_port": 80,
"tcp_draining": true,
"id": "248425d7b97dc26920eb23720115e068",
"backend_protocol": "HTTP",
"sticky_session_type": "insert",
"description": "",
"loadbalancer_id": "0b07acf06d243925bc24a0ac7445267a",
"create_time": "2015-09-15 07:41:17",
"status": "ACTIVE",
"protocol": "TCP",
"port": 88,
"cookie_timeout": 100,
"admin_state_up": true,
"session_sticky": true,
"lb_algorithm": "roundrobin",
"name": "listener1",
"tcp_draining": true,
"tcp_draining_timeout": 5
}
状态码
- 正常
200
- 异常
状态码 |
编码 |
错误码说明 |
400 |
badRequest |
请求错误 |
401 |
unauthorized |
鉴权失败 |
403 |
userDisabled |
没有权限 |
404 |
Not Found |
请求的页面不存在 |
500 |
authFault |
内部错误 |
503 |
serviceUnavailable |
服务不可用 |