文档

CreateLoadBalancerHTTPSListener - 创建HTTPS监听

更新时间:

创建HTTPS监听。

接口说明

注意事项

新建的监听的状态为 stopped。创建完成后,调用 StartLoadBalancerListener 接口启动监听来转发流量。

前提条件

您已经创建传统型负载均衡,具体操作,请参见 CreateLoadBalancer

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
slb:CreateLoadBalancerHTTPSListenerWrite
  • acl
    acs:slb:{#regionId}:{#accountId}:acl/{#aclId}
  • certificate
    acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}
  • loadbalancer
    acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}
  • slb:tag

请求参数

名称类型必填描述示例值
RegionIdstring

传统型负载均衡实例的地域 ID。

您可以从地域和可用区列表或通过调用 DescribeRegions 接口查询地域 ID。

cn-hangzhou
LoadBalancerIdstring

传统型负载均衡实例的 ID。

lb-bp1o94dp5i6earr****
Bandwidthinteger

监听的带宽峰值。单位:Mbps。

取值范围:

  • -1:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。

  • 1~5120: 对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。

-1
ListenerPortinteger

实例前端使用的端口。

取值范围:1~65535

80
BackendServerPortinteger

实例后端使用的端口,取值范围:1~65535

如果不使用服务器组(不指定 VServerGroupId),则该参数必选。

80
Tagobject []

标签列表。

Keystring

监听的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 64 个字符,不能以aliyunacs:开头,不能包含http://https://

TestKey
Valuestring

监听的标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以acs:开头,不能包含http://或者https://

TestValue
XForwardedForstring

是否通过X-Forwarded-For获取来访者客户端 IP。取值:

  • on:是。
  • off:否。
on
Schedulerstring

调度算法。取值:

  • wrr:权重值越高的后端服务器,被轮询到的次数(概率)也越高。

  • rr:按照访问顺序依次将外部请求依序分发到后端服务器。

wrr
StickySessionstring

是否开启会话保持。取值:

  • on:是。
  • off:否。
on
StickySessionTypestring

Cookie 的处理方式。取值:insertserver

  • insert:植入 Cookie。

客户端第一次访问时,负载均衡会在返回请求中植入 Cookie(即在 HTTP/HTTPS 响应报文中插入 SERVERID),下次客户端携带此 Cookie 访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。

  • server:重写 Cookie。

负载均衡发现用户自定义了 Cookie,将会对原来的 Cookie 进行重写,下次客户端携带新的 Cookie 访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。

说明 StickySession 的值为 on 时,必须指定该参数。
insert
CookieTimeoutinteger

Cookie 超时时间。单位:秒。

取值:1~86400

说明 StickySessiononStickySessionTypeinsert 时,该参数必选。
500
Cookiestring

服务器上配置的 Cookie。

长度为 1~200 个字符,只能包含 ASCII 英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。

说明 StickySessiononStickySessionTypeserver 时,该参数必选。
testCookie
HealthCheckstring

是否开启健康检查。取值:

  • on:是。
  • off :否。
on
HealthCheckMethodstring

监听 HTTP 类型健康检查的健康检查方法。取值:headget

说明 HealthCheck 值为 on 时才会有效。
get
HealthCheckDomainstring

用于健康检查的域名。取值:

  • $_ip: 后端服务器的私网 IP。当指定了 IP 或该参数未指定时,负载均衡会使用各后端服务器的私网 IP 当做健康检查使用的域名。

  • domain:域名长度为 1~80 个字符,只能包含英文字母、数字、半角句号(.)和短划线(-)。

说明 HealthCheck 值为 on 时才会有效。
172.XX.XX.16
HealthCheckURIstring

用于健康检查的 URI。

URI 长度为 1~80 个字符,可包含英文字母、数字和-/.%?#&这些特殊字符。URI 不能只为/,但必须以/开头。

说明 HealthCheck 值为 on 时才会有效。
/test/index.html
HealthyThresholdinteger

健康检查连续成功多少次后,将后端服务器的健康检查状态由 fail 判定为 success

取值:2~10

说明 HealthCheck 值为 on 时才会有效。
4
UnhealthyThresholdinteger

健康检查连续失败多少次后,将后端服务器的健康检查状态由 success 判定为 fail

取值:2~10

说明 HealthCheck 值为 on 时才会有效。
4
HealthCheckTimeoutinteger

接收来自运行状况检查的响应需要等待的时间。如果后端 ECS 在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。取值:1~300

  • 如果 HealthCheckTimeout 的值小于 HealthCheckInterval 的值,则 HealthCheckTimeout 无效,超时时间为 HealthCheckInterval 的值。
  • HealthCheck 值为 on 时才会有效。
3
HealthCheckConnectPortinteger

健康检查使用的端口。

取值:1~65535

说明 HealthCheck 值为 on 时才会有效。
8080
HealthCheckIntervalinteger

健康检查的时间间隔。单位:秒。

取值:1~50

说明 HealthCheck 值为 on 时才会有效。
5
HealthCheckHttpCodestring

健康检查正常的 HTTP 状态码,多个状态码用半角逗号(,)分割。

取值:http_2xxhttp_3xxhttp_4xxhttp_5xx

说明 HealthCheck 值为 on 时才会有效。
http_2xx,http_3xx
ServerCertificateIdstring

服务器证书的 ID。

idkp-123-cn-test-****
VServerGroupIdstring

服务器组 ID。

rsp-cige6j5e7p****
CACertificateIdstring

CA 证书 ID。

若既上传 CA 证书又上传服务器证书,即采用双向认证。

若用户只上传服务器证书,即为单向认证。

139a00604ad-cn-east-hangzh****
XForwardedFor_SLBIPstring

是否通过SLB-IP头字段获取来访者的 VIP(Virtual IP address)。取值:

  • on:是。
  • off :否。
on
XForwardedFor_SLBIDstring

是否通过SLB-ID头字段获取 SLB 实例 ID。取值:

  • on:是。
  • off :否。
on
XForwardedFor_protostring

是否通过X-Forwarded-Proto头字段获取 SLB 的监听协议。取值:

  • on:是。
  • off :否。
on
Gzipstring

是否开启Gzip压缩,对特定文件类型进行压缩。取值:

  • on:是。
  • off :否。
on
AclIdstring

监听绑定的访问策略组 ID。

说明 AclStatus 参数的值为 on 时,该参数必选。
acl-a2do9e413e0spzasx****
AclTypestring

访问控制类型。取值:

  • white:仅转发来自所选访问控制策略组中设置的 IP 地址或地址段的请求,白名单适用于只允许特定 IP 访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的 IP 可以访问负载均衡监听。

如果开启了白名单访问,但访问策略组中没有添加任何 IP,则负载均衡监听会转发全部请求。

  • black:来自所选访问控制策略组中设置的 IP 地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定 IP 访问的场景。

如果开启了黑名单访问,但访问策略组中没有添加任何 IP,则负载均衡监听会转发全部请求。

说明 AclStatus 参数的值为 on 时,该参数有效。
white
AclStatusstring

是否开启访问控制功能。取值:

  • on:是。
  • off :否。
off
Descriptionstring

自定义监听名称。

长度限制为 1~256 个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。

HTTPS_443
IdleTimeoutinteger

指定连接空闲超时时间,取值范围为1~60,默认值为 15。单位:秒。

在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。

12
RequestTimeoutinteger

指定请求超时时间,取值范围为1~180,默认值为 60。单位:秒。

在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回 HTTP 504 错误码。

23
EnableHttp2string

是否开启 HTTP2 特性。取值:

  • on:是。
  • off :否。
off
TLSCipherPolicystring

安全策略包含 HTTPS 可选的 TLS 协议版本和配套的加密算法套件。

  • tls_cipher_policy_1_0

    支持 TLS 版本: TLSv1.0、TLSv1.1 和 TLSv1.2。

    支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、AES128-GCM-SHA256、AES256-GCM-SHA384、AES128-SHA256、AES256-SHA256、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA 和 DES-CBC3-SHA。

  • tls_cipher_policy_1_1

    支持 TLS 版本: TLSv1.1 和 TLSv1.2。

    支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、AES128-GCM-SHA256、AES256-GCM-SHA384、AES128-SHA256、AES256-SHA256、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA 和 DES-CBC3-SHA。

  • tls_cipher_policy_1_2

    支持 TLS 版本:TLSv1.2。

    支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、AES128-GCM-SHA256、AES256-GCM-SHA384、AES128-SHA256、AES256-SHA256、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA 和 DES-CBC3-SHA。

  • tls_cipher_policy_1_2_strict

    支持 TLS 版本:TLSv1.2。

    支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA 和 ECDHE-RSA-AES256-SHA。

  • tls_cipher_policy_1_2_strict_with_1_3

    支持 TLS 版本:TLSv1.2 及 TLSv1.3。

    支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、ECDHE-ECDSA-AES128-GCM-SHA256、ECDHE-ECDSA-AES256-GCM-SHA384、ECDHE-ECDSA-AES128-SHA256、ECDHE-ECDSA-AES256-SHA384、ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。

tls_cipher_policy_1_1
XForwardedFor_SLBPORTstring

是否通过XForwardedFor_SLBPORT头字段获取负载均衡实例的监听端口。取值:

  • on:是。
  • off:否。
off
XForwardedFor_ClientSrcPortstring

是否通过XForwardedFor_ClientSrcPort头字段获取访问负载均衡实例客户端的端口。取值:

  • on:是。
  • off:否。
off

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

CEF72CEB-54B6-4AE8-B225-F876FF7BA984

示例

正常返回示例

JSON格式

{
  "RequestId": "CEF72CEB-54B6-4AE8-B225-F876FF7BA984"
}

错误码

HTTP status code错误码错误信息描述
400ParamDuplicateErrorThe specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one.参数XForwardedFor_ClientCertSubjectDNAlias重复。
400ParamDuplicateErrorThe specified parameter value of XForwardedFor_ClientCertIssuerDNAlias is duplicate. Please change to a different one.参数XForwardedFor_ClientCertIssuerDNAlias重复。
400ParamDuplicateErrorThe specified parameter value of XForwardedFor_ClientCertFingerprintAlias is duplicate. Please change to a different one.参数XForwardedFor_ClientCertFingerprintAlias重复。
400ParamDuplicateErrorThe specified parameter value of XForwardedFor_ClientCertClientVerifyAlias is duplicate. Please change to a different one.参数XForwardedFor_ClientCertClientVerifyAlias重复。
400IpVersionConflictThe ip version of this LoadBalancer and the Acl is conflict.指定负载均衡的IP版本与ACL支持的IP类型冲突。
400InvalidParameter.IdleTimeoutThe specified IdleTimeout exceeds the limit.指定的IdleTimeout无效。请检查参数约束,并在修改后重试。
400InvalidParameter.RequestTimeoutThe specified RequestTimeout exceeds the limit.指定的RequestTimeout无效。请检查参数约束,并在修改后重试。
400ListenerForwardNotSupportX-Forward-For is not supported to a ipv6 instance.Ipv6负载均衡实例不支持X-Forward-For。
400InvalidParameter.RegionNotSupportThe region does not support the parameter: %s.当前区域不支持指定参数。
400InvalidParameter.SpecNotSupportThe loadBalancer of shared spec does not support the parameter: %s.共享型负载均衡实例不支持当前参数。
400ListenerProcessingA previous configuration of the listener is pending,please try again later.当前监听正在配置中,请稍后重试。
400Certkey.ForbiddenThe specified certkey is not owned by the current user.指定的certkey不属于当前用户。
400InvalidParameter.ListenerPortConflictThere is conflict listener port exists.指定的监听端口已存在。
400ResourceNotAvailible.HttpsListenerThe specified Zone did not have enough resource.指定可用区资源不足。
400AclNotExistAcl does not exist.指定的Acl不存在。
400OperationUnsupported.CreateLoadBalancerLayer7ListenerThe slb instance does not support create HTTP or HTTPS listener.当前负载均衡实例不支持创建HTTP或者HTTPS类型的监听。
400InvalidParameter.VServerGroupIdThe MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.HTTP或HTTPS监听不支持挂载主备服务器组。
400MissingParam.HealthCheckDomainThe HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.参数HealthCheckDomain缺失。
400InvalidParameter.HealthCheckHttpVersionThe param HealthCheckHttpVersion is invalid.指定的HealthCheckHttpVersion无效。请检查参数约束,并在修改后重试。
400QuotaLimitExceeds.AclAttachedToListener%s.-
400QuotaLimitExceeds.TotalAclEntry%s.-
400AclListenerOverLimit%s.-
400Duplicated.AclEntry%s.Acl条目重复。
400CertificateNotExistThe specified CertificateId does not exist.指定的证书不存在。
400OperationFailed.InsufficientResourcesThe loadbalancer does not support this operation because of insufficient resources.操作失败,原因是由于资源不足,负载均衡器不支持此操作。
400InvalidTLSPolicyId.NotExistThe specified TLS cipher policy does not exist.指定的TLS策略不存在。
400TLSPolicyConfiguringThe specified TLS cipher policy is configuring.指定的TLSCipherPolicy正在变配中。
400TLSCipherPolicyVipRelationOverLimitThe number of listeners associated with a policy has exceeded.监听关联TLSCipherPolicy的数量已达到配额上限。
400CertificateTypeMismatchedThe certificate type does not match.指定证书的类型不匹配。
400MissingParam.ServerCertificatesServer certificates are required.参数ServerCertificates缺失。
400TooManyCertificatesThe number of certificates must not be greater than one.证书的数量不得大于1个。
400CnCertificateNotSupportThe cn certificate is not support.不支持国密证书。
400InvalidParam.CertificateBindingTypeThe param CertificateBindingType is invalid.指定的CertificateBindingType无效。请检查参数约束,并在修改后重试。
400InvalidParamSize.ServerCertificatesThe size of param ServerCertificates is invalid.指定的ServerCertificates长度无效。请检查参数约束,并在修改后重试。
400TooManyCertificates.ServerCertificatesThe number of certificates must not be greater than one.证书的数量不得大于1个。
400SPEC_NOT_SUPPORT_PARAMETERShare spec does not support the feature.-
400LbNotSupportTcpsslYou cannot create a TCP SSL type listener for the specified load balancer.指定的实例不支持创建tcpssl类型的监听。
400LbSupportTcpsslOnlyThe specified load balancer supports TCP SSL type listener only.指定的实例只支持创建tcpssl类型的监听。
400ListenerNotSupportRuleYou cannot create a rule for the specified listener.指定的监听不支持创建转发规则。
400Mismatch.SlbSpecTypeAndListenerProtocolThe SlbSpecType and ListenerProtocol are mismatched.实例规格类型和监听类型不匹配。
400InvalidParam.TagValue %s.-
400InvalidParam.TagKey%s.-
400SizeLimitExceeded.Tag%s.-
400MissingParam.TagKeyThe param MissingParam.TagKey is missing.-
404ResourceNotFound.CertificateThe specified resource is not found.-

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-12-14OpenAPI 错误码发生变更、OpenAPI 入参发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:400
    删除错误码:404
入参OpenAPI 入参发生变更
    新增入参:XForwardedFor_SLBPORT
    新增入参:XForwardedFor_ClientSrcPort
2023-06-02OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:400
    删除错误码:404
  • 本页导读 (1)
文档反馈