调用 CreateListener 接口,为指定负载均衡实例添加一个监听器。
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateListener | 要执行的操作,取值为CreateListener。 |
Version | String | 是 | 2020-04-01 | API版本信息,当前版本为:2020-04-01。 |
LoadBalancerId | String | 是 | clb-bp1o94dp5i6ea**** | CLB实例的ID。 |
ListenerName | String | 否 | mylistener | 监听器的名称。
|
Description | String | 否 | This is a listener. | 监听器的描述。
|
Protocol | String | 是 | TCP | 监听器的协议。取值如下:
|
Port | Integer | 是 | 80 | 监听器的监听端口,取值范围为1-65535。 |
Scheduler | String | 否 | wrr | 监听器使用的调度算法。取值如下:
|
Bandwidth | Integer | 否 | 10 | 监听器的带宽上限,即此监听器独占CLB实例的带宽,单位为Mbps。
|
ServerGroupId | String | 是 | rsp-bp1o94dp5i6ea**** | 监听器关联的后端服务器组 ID。 |
CertificateId | String | 否 | cert-bp1o94dp5i6ea**** | HTTPS监听器关联的证书ID。
|
HealthCheck.Enabled | String | 否 | on | 监听器是否开启健康检查功能。
说明 仅当本参数的值为 on 时,参数 |
HealthCheck.Interval | Integer | 否 | 2 | 执行健康检查的时间间隔,取值范围为1 ~ 300 ,默认值为2,单位为秒。 |
HealthCheck.Timeout | Integer | 否 | 2 | 健康检查的响应超时时间,表示如果后端服务器在指定的时间内没有正确响应,则判定为健康检查“异常”。 说明 响应超时时间需小于等于检查时间间隔。 |
HealthCheck.HealthyThreshold | Integer | 否 | 3 | 健康检查的健康阈值,表示连续执行指定次数的健康检查,结果均为“正常”的后端服务器将被判定为健康检查“正常”。 |
HealthCheck.UnhealthyThreshold | Integer | 否 | 3 | 健康检查的不健康阈值,表示连续执行指定次数的健康检查,结果均为“异常”的后端服务器将被判定为健康检查异常。 |
HealthCheck.UdpRequest | String | 否 | Request123 | 健康检查的请求字符串。
|
HealthCheck.UdpExpect | String | 否 | Expect123 | 健康检查的预期响应字符串。
|
HealthCheck.Method | String | 否 | HEAD | 监听器健康检查的方法。
|
HealthCheck.Domain | String | 否 | www.test.com | 健康检查的域名,需配置为后端服务器上真实对外提供服务的地址。
|
HealthCheck.URI | String | 否 | /test | 健康检查的路径,需配置为后端服务器上真实对外提供服务的地址。
|
HealthCheck.HttpCode | String | 否 | "http_2xx,http_3xx" | 健康检查正常的HTTP状态码。
|
EstablishedTimeout | Integer | 否 | 800 | 监听器的连接超时时间。
|
ClientHeaderTimeout | Integer | 否 | 60 | 读取客户端请求头的超时时间。客户端向CLB发起请求,若在超时时间内客户端没有传输整个报头,CLB将返回408错误码给客户端,表示请求超时。
|
ClientBodyTimeout | Integer | 否 | 60 | 读取客户端请求正文的超时时间。客户端向CLB发起请求,若在超时时间内客户端没有发送任何请求体,CLB将返回408错误码给客户端,表示请求超时。
|
KeepaliveTimeout | Integer | 否 | 60 | 客户端与CLB之间的长连接超时时间。若在超时时间内一直没有访问请求,CLB会中断当前连接,直到下一次请求到来时重新建立新的连接。
|
ProxyConnectTimeout | Integer | 否 | 60 | CLB与后端服务器之间的连接建立超时时间。若超时时间内CLB与后端服务器连接未建立,则终止建立连接操作。
|
ProxySendTimeout | Integer | 否 | 60 | CLB将请求传输到后端服务器的超时时间。CLB向后端服务器发起请求,若后端服务器在超时时间内未收到任何内容,则会关闭此连接。
|
ProxyReadTimeout | Integer | 否 | 60 | CLB从后端服务器读取响应的超时时间。CLB向后端服务器发起请求,若超时时间内接收请求的后端服务器无响应,则会关闭此连接。
|
SendTimeout | Integer | 否 | 60 | CLB向客户端发送响应的超时时间。CLB向客户端发送响应,若客户端在超时时间内未收到任何内容,则连接会被关闭。
|
SecurityPolicyId | String | 否 | default_policy | HTTPS监听器的TLS安全策略。
说明
|
AclStatus | String | 否 | off | 是否开启访问控制功能。取值如下:
|
AclType | String | 否 | black | 访问控制的方式。取值如下:
说明 当参数 |
AclIds.N | String | 否 | AclIds.1=acl-3cj44nv0jhhxc6c6rrtet****&AclIds.2=acl-2febxt4pu0zy85oxruw0t**** | 监听器绑定的访问控制策略组ID。
说明 当参数 |
ProxyProtocolType | String | 否 | off | 是否启用Proxy-Protocol协议。
|
PersistenceType | String | 否 | off | 会话保持的类型。取值如下:
|
PersistenceTimeout | Integer | 否 | 10 | 会话保持的超时时间。单位为秒。默认值为1000秒,取值范围根据参数
说明 参数 |
Cookie | String | 否 | cookie123 | 后端服务器配置的会话保持的Cookie名称。
|
Http2Enabled | String | 否 | off | 监听器是否开启前端HTTP 2.0协议。
|
ConnectionDrainEnabled | String | 否 | on | 监听器是否开启连接优雅中断功能。
|
ConnectionDrainTimeout | Integer | 否 | 2 | 连接优雅中断的超时时间。取值范围为0~900,单位为秒。
|
Enabled | String | 否 | on | 是否启用监听器。取值如下:
|
Tags.N.Key | String | 否 | Tags.1.Key=key1&Tags.2.Key=key2 | 用户标签的标签键。
说明 同一资源的标签键不允许重复。 |
Tags.N.Value | String | 否 | Tags.1.Value=value1&Tags.2.Value=value2 | 用户标签的标签值。
说明 若传入该参数,则必须先传入 |
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 20210811152539010225146063030**** | 请求ID。 |
ListenerId | String | lsn-2fek3rgsxhrsw5oxruwec**** | 监听器ID。 |
GET /?Action=CreateListener&Version=2020-04-01&AclIds.1=acl-3cj44nv0jhhxc6c6rrtet****&AclStatus=on&AclType=black&Enabled=on&EstablishedTimeout=122&ListenerName=mylistener&LoadBalancerId=clb-bp1o94dp5i6ea****&Port=12&Protocol=TCP&Scheduler=wrr&ServerGroupId=rsp-bp1o94dp5i6ea**** HTTP/1.1 Host: open.volcengineapi.com Region: cn-beijing Service: clb
{ "ResponseMetadata": { "RequestId": "20210811152539010225146063030****", "Action": "CreateListener", "Version": "2020-04-01", "Service": "clb", "Region": "cn-beijing" }, "Result": { "RequestId": "20210811152539010225146063030****", "ListenerId": "lsn-2fek3rgsxhrsw5oxruwec****" } }
下表为您列举了该接口与业务逻辑相关的错误码。公共错误码请参见公共错误码文档。
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | MissingParameter | The request is missing a required parameter. Ensure that you have supplied all the required parameters for the request; for example, the 'XXX'. | 该请求缺少必要参数。请确保发起请求已提供全部必要参数,比如XXX。 说明 其中,XXX表示缺少的参数名称。 |
400 | InvalidName.Malformed | The specified Name is malformed. | 指定的 Name 参数格式不合法。 |
400 | InvalidAclStatus.Malformed | The specified AclStatus is malformed. | 指定的 AclStatus 参数格式不合法。 |
400 | InvalidAclType.Malformed | The specified AclType is malformed. | 指定的 AclType 参数格式不合法。 |
400 | InvalidDescription.Malformed | The specified Description is malformed. | 指定的 Description 参数格式不合法。 |
400 | InvalidEnabled.Malformed | The specified Enabled is malformed. | 指定的 Enabled 参数格式不合法。 |
400 | InvalidEstablishedTimeout.Malformed | The specified EstablishedTimeout is malformed. | 指定的 EstablishedTimeout 参数格式不合法。 |
400 | InvalidHealthCheck.Domain.Malformed | The specified HealthCheck.Domain is malformed. | 指定的 HealthCheck.Domain 参数格式不合法。 |
400 | InvalidHealthCheck.Enabled.Malformed | The specified HealthCheck.Enabled is malformed. | 指定的 HealthCheck.Enabled 参数格式不合法。 |
400 | InvalidHealthCheck.HealthyThreshold.Malformed | The specified HealthCheck.HealthyThreshold is malformed. | 指定的 HealthCheck.HealthyThreshold 参数格式不合法。 |
400 | InvalidHealthCheck.HttpCode.Malformed | The specified HealthCheck.HttpCode is malformed. | 指定的 HealthCheck.HttpCode 参数格式不合法。 |
400 | InvalidHealthCheck.Interval.Malformed | The specified HealthCheck.Interval is malformed. | 指定的 HealthCheck.Interval 参数格式不合法。 |
400 | InvalidHealthCheck.Method.Malformed | The specified HealthCheck.Method is malformed. | 指定的 HealthCheck.Method 参数格式不合法。 |
400 | InvalidHealthCheck.Timeout.Malformed | The specified HealthCheck.Timeout is malformed. | 指定的 HealthCheck.Timeout 参数格式不合法。 |
400 | InvalidHealthCheck.URI.Malformed | The specified HealthCheck.URI is malformed. | 指定的 HealthCheck.URI 参数格式不合法。 |
400 | InvalidHealthCheck.UdpExpect.Malformed | The specified HealthCheck.UdpExpect is malformed. | 指定的 HealthCheck.UdpExpect 参数格式不合法。 |
400 | InvalidHealthCheck.UdpRequest.Malformed | The specified HealthCheck.UdpRequest is malformed. | 指定的 HealthCheck.UdpRequest 参数格式不合法。 |
400 | InvalidHealthCheck.UnhealthyThreshold.Malformed | The specified HealthCheck.UnhealthyThreshold is malformed. | 指定的 HealthCheck.UnhealthyThreshold 参数格式不合法。 |
400 | InvalidPort.Malformed | The specified Port is malformed. | 指定的 Port 参数格式不合法。 |
400 | InvalidProtocol.Malformed | The specified Protocol is malformed. | 指定的 Protocol 参数格式不合法。 |
400 | InvalidScheduler.Malformed | The specified Scheduler is malformed. | 指定的 Scheduler 参数格式不合法。 |
400 | InvalidPersistenceTimeout.Malformed | The specified PersistenceTimeout is malformed. | 指定的 PersistenceTimeout 参数格式不合法。 |
400 | InvalidPersistenceType.Malformed | The specified PersistenceType is malformed. | 指定的 PersistenceType 参数格式不合法。 |
400 | InvalidProxyProtocolType.Malformed | The specified ProxyProtocolType is malformed. | 指定的 ProxyProtocolType 参数格式不合法。 |
400 | InvalidBandwidth.Malformed | The specified Bandwidth is malformed. | 指定的 Bandwidth 参数格式不合法。 |
400 | InvalidLoadBalancer.InvalidStatus | The specified LoadBalancer is not in the correct status for the request. | 指定的负载均衡所处状态无法响应该请求。 |
400 | UnsupportedOperation.AccountArrears | The request on the specified instance is denied due to the account in arrears status. | 因账户处于欠费状态,对于该实例的操作请求被拒绝。 |
400 | QuotaExceed.ListenerNumberEachAcl | You've reached the limit on the number of listeners that you can associate. | 已达到 ACL 可关联的监听器的数量的配额上限。 |
400 | QuotaExceed.ListenerNumberEachInstance | You've reached the limit on the number of listeners that you can create. | 已达到可创建监听器的数量的配额上限。 |
400 | LimitExceeded.AclNumbers | You've reached the limit on the number of ACL that you can associate. | 已达到可关联的 ACL 的数量上限。 |
400 | InvalidServerGroup.LoadBalancerMismatch | The specified ServerGroup and LoadBalancer are not matched. | 指定的后端服务器组与负载均衡不匹配。 |
400 | InvalidLoadBalancerOrAcl.UnSupportAction | The specified LoadBalancer or Acl status does not support this action. | 指定的负载均衡或者 ACL 状态不支持当前操作。 |
400 | InvalidLoadBalancer.UnSupportAction | The specified LoadBalancer does not support this action. | 指定的负载均衡不支持当前操作。 |
400 | InvalidProtocol.ServerGroupIpVersionMismatch | The specified Protocol and ServerGroup IpVersion are not matched. | 指定的协议与服务器组 IP 版本不匹配。 |
400 | InvalidPort.NotAllowed | The specified Port is not allowed. | 指定的监听器端口不在实例的允许使用范围内。 |
400 | InvalidConnectionDrainEnabled.Malformed | The specified ConnectionDrainEnabled is malformed. | 指定的 ConnectionDrainEnabled 参数格式不合法。 |
400 | InvalidConnectionDrainTimeout.Malformed | The specified ConnectionDrainTimeout is malformed. | 指定的 ConnectionDrainTimeout 参数格式不合法。 |
400 | InvalidParameter.ProtocolConflictsToaType | The specified Protocol and ToaType conflict. | 指定的 Protocol 和 ToaType 参数冲突。 |
400 | InvalidProject.Malformed | The specified Project is malformed. | 指定的 Project 参数格式不合法。 |
400 | InvalidCookie.Malformed | The specified Cookie is malformed. | 指定的 Cookie 参数格式不合法。 |
400 | InvalidPersistenceType.ProtocolMismatch | The specified PersistenceType and Protocol are not matched. | 指定的会话保持类型与协议不匹配。 |
400 | InvalidPersistenceType.SchedulerMismatch | The specified PersistenceType and Scheduler are not matched. | 指定的会话保持类型与调度算法不匹配。 |
400 | InvalidHttp2Enabled.Malformed | The specified Http2Enabled is malformed. | 指定的 Http2Enabled 参数格式不合法。 |
400 | InvalidHttp2Enabled.ProtocolMismatch | The specified Http2Enabled not match with Protocol. | 指定的 HTTP2.0 开关与监听器协议类型不一致。 |
400 | InvalidIncorrectOrder.Malformed | The specified index order is malformed. | 指定的索引顺序参数格式不合法。 |
400 | InvalidTagKey.Malformed | The specified TagKey is malformed. | 指定的 TagKey 参数格式不合法。 |
400 | InvalidTagValue.Malformed | The specified TagValue is malformed. | 指定的 TagValue 参数格式不合法。 |
400 | LimitExceeded.ServiceManagedTag | You've reached the limit on the number of service managed tags that you can create. | 已达到单次可创建受管资源标签键值数量的上限。 |
400 | LimitExceeded.TagOperation | You've reached the limit on the number of tags that you can operate at a time. | 已达到单次可操作的标签条目数量上限。 |
403 | Forbidden | You are not authorized to perform operations on the service managed tag. | 无权限对指定资源打上受管标签。 |
400 | InvalidClientBodyTimeout.Malformed | The specified ClientBodyTimeout is malformed. | 指定的 ClientBodyTimeout 参数格式不合法。 |
400 | InvalidClientBodyTimeout.ProtocolMismatch | The specified ClientBodyTimeout not match with Protocol. | 指定的客户端请求正文超时时间与监听器协议类型不一致。 |
400 | InvalidClientHeaderTimeout.Malformed | The specified ClientHeaderTimeout is malformed. | 指定的 ClientHeaderTimeout 参数格式不合法。 |
400 | InvalidClientHeaderTimeout.ProtocolMismatch | The specified ClientHeaderTimeout not match with Protocol. | 指定的客户端请求头超时时间与监听器协议类型不一致。 |
400 | InvalidHealthCheck.Port.Malformed | The specified HealthCheck.Port is malformed. | 指定的 HealthCheck.Port 参数格式不合法。 |
400 | InvalidKeepaliveTimeout.Malformed | The specified KeepaliveTimeout is malformed. | 指定的 KeepaliveTimeout 参数格式不合法。 |
400 | InvalidKeepaliveTimeout.ProtocolMismatch | The specified KeepaliveTimeout not match with Protocol. | 指定的客户端连接空闲超时时间与监听器协议类型不一致。 |
400 | InvalidProxyConnectTimeout.Malformed | The specified ProxyConnectTimeout is malformed. | 指定的 ProxyConnectTimeout 参数格式不合法。 |
400 | InvalidProxyConnectTimeout.ProtocolMismatch | The specified ProxyConnectTimeout not match with Protocol. | 指定的后端建连超时时间与监听器协议类型不一致。 |
400 | InvalidProxyReadTimeout.Malformed | The specified ProxyReadTimeout is malformed. | 指定的 ProxyReadTimeout 参数格式不合法。 |
400 | InvalidProxyReadTimeout.ProtocolMismatch | The specified ProxyReadTimeout not match with Protocol. | 指定的后端响应超时时间与监听器协议类型不一致。 |
400 | InvalidProxySendTimeout.Malformed | The specified ProxySendTimeout is malformed. | 指定的 ProxySendTimeout 参数格式不合法。 |
400 | InvalidProxySendTimeout.ProtocolMismatch | The specified ProxySendTimeout not match with Protocol. | 指定的后端转发请求超时时间与监听器协议类型不一致。 |
400 | InvalidSecurityPolicyId.Malformed | The specified SecurityPolicyId is malformed. | 指定的 SecurityPolicyId 参数格式不合法。 |
400 | InvalidSecurityPolicyId.ProtocolMismatch | The specified SecurityPolicyId not match with Protocol. | 指定的安全策略 ID 与监听器协议类型不一致。 |
400 | InvalidSendTimeout.Malformed | The specified SendTimeout is malformed. | 指定的 SendTimeout 参数格式不合法。 |
400 | InvalidSendTimeout.ProtocolMismatch | The specified SendTimeout not match with Protocol. | 指定的客户端转发响应超时时间与监听器协议类型不一致。 |
403 | InvalidResourceType.ServcieManaged | The specified ResourceType is managed by a service. | 指定的资源是服务托管资源。 |
404 | InvalidLoadBalancer.NotFound | The specified LoadBalancer does not exist. | 指定的负载均衡不存在。 |
404 | InvalidServerGroup.NotFound | The specified ServerGroup does not exist. | 指定的后端服务器组不存在。 |
404 | InvalidAcl.NotFound | The specified ACL does not exist. | 指定的 ACL 不存在。 |
404 | InvalidCertificate.NotFound | The specified Certificate does not exist. | 指定的证书不存在。 |
404 | InvalidExclusiveCluster.NotFound | The specified ExclusiveCluster does not exist. | 指定的独占集群不存在。 |
409 | InvalidPort.Conflict | The specified Port already exists. | 指定的端口已存在。 |
409 | InvalidAclId.Conflict | The specified AclId already exists. | 指定的 ACL 已存在。 |
412 | InvalidLoadBalancer.Expired | The specified LoadBalancer has expired. | 指定的负载均衡已过期。 |
412 | InvalidExclusiveCluster.Expired | The specified ExclusiveCluster has expired. | 指定的独占集群已过期。 |
412 | InvalidExclusiveCluster.UnPurchased | The specified ExclusiveCluster is not purchased. | 指定的独占集群未购买。 |