創建HTTPS監聽。
接口說明
注意事項
新建的監聽的狀態為 stopped。創建完成后,調用 StartLoadBalancerListener 接口啟動監聽來轉發流量。
前提條件
您已經創建傳統型負載均衡,具體操作,請參見 CreateLoadBalancer 。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
slb:CreateLoadBalancerHTTPSListener | create |
|
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 否 | 傳統型負載均衡實例的地域 ID。 您可以從地域和可用區列表或通過調用 DescribeRegions 接口查詢地域 ID。 | cn-hangzhou |
LoadBalancerId | string | 是 | 傳統型負載均衡實例的 ID。 | lb-bp1o94dp5i6earr**** |
Bandwidth | integer | 是 | 監聽的帶寬峰值。單位:Mbps。 取值范圍:
| -1 |
ListenerPort | integer | 是 | 實例前端使用的端口。 取值范圍:1~65535。 | 80 |
BackendServerPort | integer | 否 | 實例后端使用的端口,取值范圍:1~65535。 如果不使用服務器組(不指定 VServerGroupId),則該參數必選。 | 80 |
Tag | array<object> | 否 | 標簽列表。 | |
object | 否 | 標簽列表。 | ||
Key | string | 否 | 監聽的標簽鍵。N 的取值范圍:1~20。一旦傳入該值,則不允許為空字符串。最多支持 64 個字符,不能以 | TestKey |
Value | string | 否 | 監聽的標簽值。N 的取值范圍:1~20。一旦傳入該值,可以為空字符串。最多支持 128 個字符,不能以 | TestValue |
XForwardedFor | string | 否 | 是否通過
| on |
Scheduler | string | 否 | 調度算法。取值:
| wrr |
StickySession | string | 是 | 是否開啟會話保持。取值:
| on |
StickySessionType | string | 否 | Cookie 的處理方式。取值:insert 或 server。
客戶端第一次訪問時,負載均衡會在返回請求中植入 Cookie(即在 HTTP/HTTPS 響應報文中插入 SERVERID),下次客戶端攜帶此 Cookie 訪問,負載均衡服務會將請求定向轉發給之前記錄到的后端服務器上。
負載均衡發現用戶自定義了 Cookie,將會對原來的 Cookie 進行重寫,下次客戶端攜帶新的 Cookie 訪問,負載均衡服務會將請求定向轉發給之前記錄到的后端服務器。 說明
當 StickySession 的值為 on 時,必須指定該參數。
| insert |
CookieTimeout | integer | 否 | Cookie 超時時間。單位:秒。 取值:1~86400。 說明
當 StickySession 為 on 且 StickySessionType 為 insert 時,該參數必選。
| 500 |
Cookie | string | 否 | 服務器上配置的 Cookie。 長度為 1~200 個字符,只能包含 ASCII 英文字母和數字字符,不能包含半角逗號(,)、半角分號(;)或空格,也不能以美元符號($)開頭。 說明
當 StickySession 為 on 且 StickySessionType 為 server 時,該參數必選。
| testCookie |
HealthCheck | string | 是 | 是否開啟健康檢查。取值:
| on |
HealthCheckMethod | string | 否 | 監聽 HTTP 類型健康檢查的健康檢查方法。取值:head 或 get。 說明
HealthCheck 值為 on 時才會有效。
| get |
HealthCheckDomain | string | 否 | 用于健康檢查的域名。取值:
說明
在 HealthCheck 值為 on 時才會有效。
| 172.XX.XX.16 |
HealthCheckURI | string | 否 | 用于健康檢查的 URI。 URI 長度為 1~80 個字符,可包含英文字母、數字和 說明
在 HealthCheck 值為 on 時才會有效。
| /test/index.html |
HealthyThreshold | integer | 否 | 健康檢查連續成功多少次后,將后端服務器的健康檢查狀態由 fail 判定為 success。 取值:2~10。 說明
在 HealthCheck 值為 on 時才會有效。
| 4 |
UnhealthyThreshold | integer | 否 | 健康檢查連續失敗多少次后,將后端服務器的健康檢查狀態由 success 判定為 fail。 取值:2~10。 說明
在 HealthCheck 值為 on 時才會有效。
| 4 |
HealthCheckTimeout | integer | 否 | 接收來自運行狀況檢查的響應需要等待的時間。如果后端 ECS 在指定的時間內沒有正確響應,則判定為健康檢查失敗。單位:秒。取值:1~300。 說明
在 HealthCheck 值為 on 時才會有效。
| 3 |
HealthCheckConnectPort | integer | 否 | 健康檢查使用的端口。 取值:1~65535。 說明
當 HealthCheck 值為 on 時才會有效。
| 8080 |
HealthCheckInterval | integer | 否 | 健康檢查的時間間隔。單位:秒。 取值:1~50。 說明
在 HealthCheck 值為 on 時才會有效。
| 5 |
HealthCheckHttpCode | string | 否 | 健康檢查正常的 HTTP 狀態碼,多個狀態碼用半角逗號(,)分割。 取值:http_2xx、http_3xx、http_4xx或http_5xx。 說明
在 HealthCheck 值為 on 時才會有效。
| http_2xx,http_3xx |
ServerCertificateId | string | 是 | 服務器證書的 ID。 | idkp-123-cn-test-**** |
VServerGroupId | string | 否 | 服務器組 ID。 | rsp-cige6j5e7p**** |
CACertificateId | string | 否 | CA 證書 ID。 若既上傳 CA 證書又上傳服務器證書,即采用雙向認證。 若用戶只上傳服務器證書,即為單向認證。 | 139a00604ad-cn-east-hangzh**** |
XForwardedFor_SLBIP | string | 否 | 是否通過
| on |
XForwardedFor_SLBID | string | 否 | 是否通過
| on |
XForwardedFor_proto | string | 否 | 是否通過
| on |
Gzip | string | 否 | 是否開啟
| on |
AclId | string | 否 | 監聽綁定的訪問策略組 ID。 說明
當 AclStatus 參數的值為 on 時,該參數必選。
| acl-a2do9e413e0spzasx**** |
AclType | string | 否 | 訪問控制類型。取值:
如果開啟了白名單訪問,但訪問策略組中沒有添加任何 IP,則負載均衡監聽會轉發全部請求。
如果開啟了黑名單訪問,但訪問策略組中沒有添加任何 IP,則負載均衡監聽會轉發全部請求。 說明
當 AclStatus 參數的值為 on 時,該參數有效。
| white |
AclStatus | string | 否 | 是否開啟訪問控制功能。取值:
| off |
Description | string | 否 | 自定義監聽名稱。 長度限制為 1~256 個字符,支持中文、字母、數字、短劃線(-)、正斜線(/)、半角句號(.)和下劃線(_)。 | HTTPS_443 |
IdleTimeout | integer | 否 | 指定連接空閑超時時間,取值范圍為1~60,默認值為 15。單位:秒。 在超時時間內一直沒有訪問請求,負載均衡會暫時中斷當前連接,直到一下次請求來臨時重新建立新的連接。 | 12 |
RequestTimeout | integer | 否 | 指定請求超時時間,取值范圍為1~180,默認值為 60。單位:秒。 在超時時間內后端服務器一直沒有響應,負載均衡將放棄等待,給客戶端返回 HTTP 504 錯誤碼。 | 23 |
EnableHttp2 | string | 否 | 是否開啟 HTTP2 特性。取值:
| off |
TLSCipherPolicy | string | 否 | 安全策略包含 HTTPS 可選的 TLS 協議版本和配套的加密算法套件。
| tls_cipher_policy_1_1 |
XForwardedFor_SLBPORT | string | 否 | 是否通過
| off |
XForwardedFor_ClientSrcPort | string | 否 | 是否通過
| off |
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": "CEF72CEB-54B6-4AE8-B225-F876FF7BA984"
}
錯誤碼
HTTP status code | 錯誤碼 | 錯誤信息 | 描述 |
---|---|---|---|
400 | ParamDuplicateError | The specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one. | 參數XForwardedFor_ClientCertSubjectDNAlias重復。 |
400 | ParamDuplicateError | The specified parameter value of XForwardedFor_ClientCertIssuerDNAlias is duplicate. Please change to a different one. | 參數XForwardedFor_ClientCertIssuerDNAlias重復。 |
400 | ParamDuplicateError | The specified parameter value of XForwardedFor_ClientCertFingerprintAlias is duplicate. Please change to a different one. | 參數XForwardedFor_ClientCertFingerprintAlias重復。 |
400 | ParamDuplicateError | The specified parameter value of XForwardedFor_ClientCertClientVerifyAlias is duplicate. Please change to a different one. | 參數XForwardedFor_ClientCertClientVerifyAlias重復。 |
400 | IpVersionConflict | The ip version of this LoadBalancer and the Acl is conflict. | 指定負載均衡的IP版本與ACL支持的IP類型沖突。 |
400 | InvalidParameter.IdleTimeout | The specified IdleTimeout exceeds the limit. | 指定的IdleTimeout無效。請檢查參數約束,并在修改后重試。 |
400 | InvalidParameter.RequestTimeout | The specified RequestTimeout exceeds the limit. | 指定的RequestTimeout無效。請檢查參數約束,并在修改后重試。 |
400 | ListenerForwardNotSupport | X-Forward-For is not supported to a ipv6 instance. | Ipv6負載均衡實例不支持X-Forward-For。 |
400 | InvalidParameter.RegionNotSupport | The region does not support the parameter: %s. | 當前區域不支持指定參數。 |
400 | InvalidParameter.SpecNotSupport | The loadBalancer of shared spec does not support the parameter: %s. | 共享型負載均衡實例不支持當前參數。 |
400 | ListenerProcessing | A previous configuration of the listener is pending,please try again later. | 當前監聽正在配置中,請稍后重試。 |
400 | Certkey.Forbidden | The specified certkey is not owned by the current user. | 指定的certkey不屬于當前用戶。 |
400 | InvalidParameter.ListenerPortConflict | There is conflict listener port exists. | 指定的監聽端口已存在。 |
400 | ResourceNotAvailible.HttpsListener | The specified Zone did not have enough resource. | 指定可用區資源不足。 |
400 | AclNotExist | Acl does not exist. | 指定的Acl不存在。 |
400 | OperationUnsupported.CreateLoadBalancerLayer7Listener | The slb instance does not support create HTTP or HTTPS listener. | 當前負載均衡實例不支持創建HTTP或者HTTPS類型的監聽。 |
400 | InvalidParameter.VServerGroupId | The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener. | HTTP或HTTPS監聽不支持掛載主備服務器組。 |
400 | MissingParam.HealthCheckDomain | The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1. | 參數HealthCheckDomain缺失。 |
400 | InvalidParameter.HealthCheckHttpVersion | The param HealthCheckHttpVersion is invalid. | 指定的HealthCheckHttpVersion無效。請檢查參數約束,并在修改后重試。 |
400 | QuotaLimitExceeds.AclAttachedToListener | %s. | - |
400 | QuotaLimitExceeds.TotalAclEntry | %s. | - |
400 | AclListenerOverLimit | %s. | - |
400 | Duplicated.AclEntry | %s. | Acl條目重復。 |
400 | CertificateNotExist | The specified CertificateId does not exist. | 指定的證書不存在。 |
400 | OperationFailed.InsufficientResources | The loadbalancer does not support this operation because of insufficient resources. | 操作失敗,原因是由于資源不足,負載均衡器不支持此操作。 |
400 | InvalidTLSPolicyId.NotExist | The specified TLS cipher policy does not exist. | 指定的TLS策略不存在。 |
400 | TLSPolicyConfiguring | The specified TLS cipher policy is configuring. | 指定的TLSCipherPolicy正在變配中。 |
400 | TLSCipherPolicyVipRelationOverLimit | The number of listeners associated with a policy has exceeded. | 監聽關聯TLSCipherPolicy的數量已達到配額上限。 |
400 | CertificateTypeMismatched | The certificate type does not match. | 指定證書的類型不匹配。 |
400 | MissingParam.ServerCertificates | Server certificates are required. | 參數ServerCertificates缺失。 |
400 | TooManyCertificates | The number of certificates must not be greater than one. | 證書的數量不得大于1個。 |
400 | CnCertificateNotSupport | The cn certificate is not support. | 不支持國密證書。 |
400 | InvalidParam.CertificateBindingType | The param CertificateBindingType is invalid. | 指定的CertificateBindingType無效。請檢查參數約束,并在修改后重試。 |
400 | InvalidParamSize.ServerCertificates | The size of param ServerCertificates is invalid. | 指定的ServerCertificates長度無效。請檢查參數約束,并在修改后重試。 |
400 | TooManyCertificates.ServerCertificates | The number of certificates must not be greater than one. | 證書的數量不得大于1個。 |
400 | SPEC_NOT_SUPPORT_PARAMETER | Share spec does not support the feature. | - |
400 | LbNotSupportTcpssl | You cannot create a TCP SSL type listener for the specified load balancer. | 指定的實例不支持創建tcpssl類型的監聽。 |
400 | LbSupportTcpsslOnly | The specified load balancer supports TCP SSL type listener only. | 指定的實例只支持創建tcpssl類型的監聽。 |
400 | ListenerNotSupportRule | You cannot create a rule for the specified listener. | 指定的監聽不支持創建轉發規則。 |
400 | Mismatch.SlbSpecTypeAndListenerProtocol | The SlbSpecType and ListenerProtocol are mismatched. | 實例規格類型和監聽類型不匹配。 |
400 | InvalidParam.TagValue | %s. | - |
400 | InvalidParam.TagKey | %s. | - |
400 | SizeLimitExceeded.Tag | %s. | - |
400 | MissingParam.TagKey | The param MissingParam.TagKey is missing. | - |
404 | ResourceNotFound.Certificate | The specified resource is not found. | - |
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2023-12-14 | OpenAPI 錯誤碼發生變更、OpenAPI 入參發生變更 | 查看變更詳情 |
2023-06-02 | OpenAPI 錯誤碼發生變更 | 查看變更詳情 |