Skip to Content
负载均衡 ULB ALB描述应用型负载均衡监听器 - DescribeListeners

描述应用型负载均衡监听器 - DescribeListeners

简介

描述一个指定的监听器或者一个应用型负载均衡实例下的所有监听器

定义

公共参数

参数名类型描述信息必填
Actionstring对应的 API 指令名称,当前 API 为 DescribeListenersYes
PublicKeystring用户公钥,可从 控制台 获取Yes
Signaturestring根据公钥及 API 指令生成的用户签名,参见 签名算法Yes

请求参数

参数名类型描述信息必填
Regionstring地域。 参见 地域和可用区列表Yes
ProjectIdstring项目ID。不填写为默认项目,子帐号必须填写。 请参考GetProjectList接口Yes
ListenerIdstring应用型负载均衡监听器的ID。若指定ListenerId,则忽略LoadBalancerId。ListenId和LoadBalancerId必选其一No
LoadBalancerIdstring应用型负载均衡实例的ID。未指定ListenId,则描述指定的LoadBalancerId下的所有监听器。No
Offsetint数据偏移量,默认为0No
Limitint数据分页值,默认为100No

响应字段

字段名类型描述信息必填
RetCodeint返回状态码,为 0 则为成功返回,非 0 为失败Yes
Actionstring操作指令名称Yes
Messagestring返回错误消息,当 RetCode 非 0 时提供详细的描述信息No
TotalCountint满足条件的负载均衡监听器总数No
Listenersarray[Listener]负载均衡监听器信息No

数据模型

Listener

字段名类型描述信息必填
ListenerIdstring监听器的IDNo
Namestring监听器的名称No
Remarkstring监听器的备注信息No
ListenerPortint监听器的监听端口No
ListenerProtocolstring监听协议。应用型限定取值: HTTP、HTTPSNo
Certificatesarray[Certificate](应用型专用)服务器默认证书ID。仅HTTPS监听支持。具体接口详见 CertificateNo
SecurityPolicyIdstring(应用型专用)安全策略组ID。仅HTTPS监听支持绑定;Default -> 原生策略No
IdleTimeoutint连接空闲超时时间。单位:秒No
Schedulerstring负载均衡算法。应用型限定取值:Roundrobin -> 轮询;Source -> 源地址; WeightRoundrobin -> 加权轮询; Leastconn -> 最小连接数;Backup ->主备模式No
StickinessConfigStickinessConfigSet会话保持相关配置。具体结构详见 StickinessConfigSetNo
HealthCheckConfigHealthCheckConfigSet健康检查相关配置。具体结构详见 HealthCheckConfigSetNo
CompressionEnabledboolean(应用型专用)是否开启数据压缩功能。目前只支持使用gzip对特定文件类型进行压缩No
HTTP2Enabledboolean(应用型专用)是否开启HTTP/2特性。仅HTTPS监听支持开启No
RedirectEnabledboolean(应用型专用)是否开启HTTP重定向到HTTPS。仅HTTP监听支持开启No
RedirectPortint(应用型专用)重定向端口No
Targetsarray[Target]添加的服务节点信息。具体结构详见 TargetNo
Rulesarray[Rule](应用型专用)转发规则信息No
Statestringlistener健康状态。限定枚举值:Healthy -> 健康,Unhealthy -> 不健康,PartialHealth -> 部分健康,None -> 无节点状态No

Certificate

字段名类型描述信息必填
SSLIdstring证书IDNo
IsDefaultboolean是否为默认证书No

StickinessConfigSet

字段名类型描述信息必填
Enabledboolean是否开启会话保持功能。应用型负载均衡实例基于Cookie实现No
Typestring(应用型专用)Cookie处理方式。限定枚举值: ServerInsert -> 自动生成KEY;UserDefined -> 用户自定义KEYNo
CookieNamestring(应用型专用)自定义Cookie。当StickinessType取值”UserDefined”时有效No

HealthCheckConfigSet

字段名类型描述信息必填
Enabledboolean是否开启健康检查功能。暂时不支持关闭。 默认值为:trueNo
Typestring健康检查方式。应用型限定取值: Port -> 端口检查;HTTP -> HTTP检查; 默认值:PortNo
Domainstring(应用型专用)HTTP检查域名。 当Type为HTTP时,此字段有意义,代表HTTP检查域名No
Pathstring(应用型专用)HTTP检查路径。当Type为HTTP时,此字段有意义,代表HTTP检查路径No

Target

字段名类型描述信息必填
ResourceTypestring服务节点的类型。限定枚举值:UHost -> 云主机,UNI -> 虚拟网卡,UPM -> 物理云主机,IP -> IP类型; 默认值:“UHost”; 非IP类型,如果该资源有多个IP,将只能添加主IP; 非IP类型,展示时,会显示相关资源信息,IP类型只展示IP信息。 在相关资源被删除时,非IP类型会把相关资源从lb中剔除,IP类型不保证这个逻辑No
ResourceIdstring服务节点的资源IDNo
ResourceNamestring服务节点的资源名称No
VPCIdstring服务节点的VPC资源IDNo
SubnetIdstring服务节点的子网资源IDNo
ResourceIPstring服务节点的IPNo
Portint服务节点的端口No
Weightint服务节点的权重。仅在加权轮询算法时有效No
Enabledboolean服务节点是否启用No
IsBackupboolean服务节点是否为备节点No
Idstring服务节点的标识ID。为ALB/NLB中使用,与资源自身ID无关,可用于UpdateTargetsAttribute/RemoveTargetsNo
Statestring服务节点的健康检查状态。限定枚举值:Healthy -> 健康,Unhealthy -> 不健康
No

Rule

字段名类型描述信息必填
RuleIdstring转发规则的IDNo
RuleConditionsarray[RuleCondition]转发规则匹配条件。具体结构详见 RuleConditionNo
RuleActionsarray[RuleAction]转发动作。具体规则详见RuleActionNo
IsDefaultboolean是否为默认转发规则No
Passboolean当转发的服务节点为空时,规则是否忽略No

RuleCondition

字段名类型描述信息必填
Typestring匹配条件类型。限定枚举值:Host,PathYes
HostConfigHostConfigSet域名相关配置。Type为Host时必填。具体结构详见 HostConfigSetNo
PathConfigPathConfigSet路径相关配置。Type为Path时必填。具体结构详见 PathConfigSetNo

RuleAction

字段名类型描述信息必填
Typestring动作类型。限定枚举值:Forward、“InsertHeader”、“Cors”、“FixedResponse”、“RemoveHeader”Yes
ForwardConfigForwardConfigSet转发服务节点相关配置,对应 type 值: “Forward”。具体结构详见 ForwardConfigSetNo
FixedResponseConfigFixedResponseConfigSet静态返回相关配置,对应 type 值: “FixedResponse”。具体结构详见 FixedResponseConfigSetNo
InsertHeaderConfigInsertHeaderConfigSet插入 header 相关配置,对应 type 值: “InsertHeader”。具体结构详见 InsertHeaderConfigSetNo
CorsConfigCorsConfigSet跨域相关配置,对应 type 值: “Cors”。具体结构详见 CorsConfigSetNo
RemoveHeaderConfigRemoveHeaderConfigSet删除 header 相关配置,对应 type 值: “RemoveHeader”。具体结构详见 RemoveHeaderConfigSetNo
Orderint转发规则动作执行的顺序,取值为1~1000,按值从小到大执行动作。值不能为空,不能重复。

Forward、FixedResponse 类型的动作不判断 Order,最后一个执行
No

ForwardConfigSet

字段名类型描述信息必填
Targetsarray[ForwardTargetSet]转发的后端服务节点。限定在监听器的服务节点池里;数组长度可以为0。具体结构详见 ForwardTargetSetYes

FixedResponseConfigSet

字段名类型描述信息必填
HttpCodeint返回的 HTTP 响应码,仅支持 2xx、4xx、5xx 数字,x 为任意数字。Yes
Contentstring返回的固定内容。最大支持存储 1 KB,只支持 ASCII 码值ch >= 32 && ch < 127范围内、不包括 $ 的可打印字符。No

InsertHeaderConfigSet

字段名类型描述信息必填
Keystring插入的 header 字段名称,长度为 1~40 个字符,支持大小写字母 a~z、数字、下划线(_)和短划线(-)。头字段名称不能重复用于InsertHeader中。

header 字段不能使用以下(此处判断大小写不敏感)

x-real-ip、x-forwarded-for、x-forwarded-proto、x-forwarded-srcport、ucloud-alb-trace、connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie、remoteip、authority
Yes
Valuestring插入的 header 字段内容。

ValueType 取值为 SystemDefined 时取值如下:
ClientSrcPort:客户端端口。
ClientSrcIp:客户端 IP 地址。
Protocol:客户端请求的协议(HTTP 或 HTTPS)。
RuleID:客户端请求命中的转发规则ID。
ALBID:ALB ID。
ALBPort:ALB 端口。


ValueType 取值为 UserDefined 时:

可以自定义头字段内容,限制长度为 1~128 个字符,只支持 ASCII 码值ch >= 32 && ch < 127范围内、不包括 $ 的可打印字符。


ValueType 取值为 ReferenceHeader 时:

可以引用请求头字段中的某一个字段,限制长度限制为 1~128 个字符,支持小写字母 a~z、数字、短划线(-)和下划线(_)。
Yes
ValueTypestring头字段内容类型。取值:

UserDefined:用户指定。

ReferenceHeader:引用用户请求头中的某一个字段。

SystemDefined:系统定义。
Yes

CorsConfigSet

字段名类型描述信息必填
AllowOriginarray[string]允许的访问来源列表。支持只配置一个元素*,或配置一个或多个值。

单个值必须以http://或者https://开头,后边加一个正确的域名或一级泛域名。(例:http://*.test.abc.example.com)
单个值可以不加端口,也可以指定端口,端口范围:1~65535。
最多支持5个值
Yes
AllowHeadersarray[string]允许跨域的 Header 列表。支持配置为*或配置一个或多个 value 值。
单个 value 值只允许包含大小写字母、数字,不能以下划线(_)和短划线(-)开头或结尾,最大长度限制为 32 个字符。
最多支持20个值
No
ExposeHeadersarray[string]允许暴露的 Header 列表。支持配置为*或配置一个或多个 value 值。
单个 value 值只允许包含大小写字母、数字,不能以下划线(_)和短划线(-)开头或结尾,最大长度限制为 32 个字符。
最多支持20个值
No
AllowMethodsarray[string]选择跨域访问时允许的 HTTP 方法。取值:

GET
POST
PUT
DELETE
HEAD
OPTIONS
PATCH
No
AllowCredentialsstring是否允许携带凭证信息。取值:

on:是。
off:否。
No
MaxAgeint预检请求在浏览器的最大缓存时间,单位:秒。

取值范围:-1~172800。
No

RemoveHeaderConfigSet

字段名类型描述信息必填
Keystring
删除的 header 字段名称,目前只能删除以下几个默认配置的字段: X-Real-IP、X-Forwarded-For、X-Forwarded-Proto、X-Forwarded-SrcPort
Yes

ForwardTargetSet

字段名类型描述信息必填
Idstring服务节点的标识IDYes
Weightint权重。仅监听器负载均衡算法是加权轮询是有效;取值范围[1-100],默认值为1No

HostConfigSet

字段名类型描述信息必填
Valuesarray[string]取值。暂时只支持数组长度为1; 取值需符合相关匹配方式的条件Yes
MatchModestring匹配方式。限定枚举值:Regular-正则,Wildcard-泛域名; 默认值:RegularNo

PathConfigSet

字段名类型描述信息必填
Valuesarray[string]取值。暂时只支持数组长度为1; 取值需符合相关匹配方式的条件Yes

示例

请求示例

https://api.tnqacloud.com/?Action=DescribeListeners &Region=cn-bj2 &ProjectId=org-XXXXX &ListenerId=als-XXXXX &LoadBalancerId=alb-XXXXX &Offset=0 &Limit=10

响应示例

{ "Action": "DescribeListenersResponse", "Listeners": [ { "Certificates": [ { "IsDefault": true, "SSLId": "ssl-XXXXXX" } ], "CompressionEnabled": true, "HTTP2Enabled": false, "HealthCheckConfig": [ { "Enabled": false } ], "IdleTimeout": 60, "ListenPort": 80, "ListenProtocol": "HTTP", "ListenerId": "als-XXXXXX", "Name": "als", "RedirectEnabled": false, "RedirectPort": 7, "Remark": "test_als", "Rules": [ { "IsDefault": true, "Pass": true, "RuleActions": [ { "InsertHeaderConfig": { "Key": "test1", "Value": "ClientSrcPort", "ValueType": "SystemDefined" }, "Order": 1, "Type": "InsertHeader" }, { "InsertHeaderConfig": { "Key": "test2", "Value": "test2", "ValueType": "UserDefined" }, "Order": 2, "Type": "InsertHeader" }, { "InsertHeaderConfig": { "Key": "test3", "Value": "test3", "ValueType": "UserDefined" }, "Order": 3, "Type": "InsertHeader" }, { "Order": 4, "RemoveHeaderConfig": { "Key": "X-Forwarded-Proto" }, "Type": "RemoveHeader" }, { "CorsConfig": { "AllowCredentials": "on", "AllowHeaders": [ "Origin", "Accept", "Accept" ], "AllowMethods": [ "OPTIONS", "HEAD", "GET", "POST", "PUT", "PATCH" ], "AllowOrigin": [ "http://example.com", "http://example.com", "https://example.com:123", "https://example.com:12313" ], "ExposeHeaders": [ "User-Agent", "Cache-Control" ], "MaxAge": -1 }, "Order": 5, "Type": "Cors" }, { "ForwardConfig": { "Targets": [ { "Id": "ars-XXXXX", "Weight": 1 } ] }, "Type": "Forward" } ], "RuleConditions": [ { "PathConfig": { "Values": [ "/" ] }, "Type": "Path" } ], "RuleId": "rule-XXXXXX" }, { "IsDefault": false, "Pass": true, "RuleActions": [ { "ForwardConfig": { "Targets": [ { "Id": "ars-XXXXX", "Weight": 1 } ] }, "Type": "Forward" } ], "RuleConditions": [ { "PathConfig": { "Values": [ "/abc" ] }, "Type": "Path" }, { "HostConfig": { "MatchMode": "Regular", "Values": [ "www.*.com" ] }, "Type": "Host" } ], "RuleId": "rule-XXXXXX" } ], "Scheduler": "Roundrobin", "SecurityPolicyId": "security-tls12s", "StickinessConfig": [ { "CookieName": "test", "Enabled": true, "Type": "UserDefined" } ], "Targets": [ { "Enabled": true, "Id": "ars-XXXXX", "IsBackup": false, "Port": 80, "ResourceIP": "X.X.X.X", "ResourceId": "uhost-XXXXXX", "ResourceName": "UHost1", "ResourceType": "UHost", "State": "Unhealthy", "SubnetId": "subnet-XXXXX", "VPCId": "vnet-XXXXX", "Weight": 1 } ] } ], "RetCode": 0, "TotalCount": 1 }