建立HTTP監聽。

说明 新建的監聽的狀態為stopped。建立完成後,需調用StartLoadBalancerListener介面啟動監聽進行流量轉寄。

請求參數

名稱 類型 是否必須 描述
Action String 要執行的操作。取值:

CreateLoadBalancerHTTPListener

RegionId String Server Load Balancer執行個體的地域。

您可以通過調用 DescribeRegions介面獲取地域ID。

LoadBalancerId String Server Load Balancer執行個體ID。
ListenerPort Integer Server Load Balancer執行個體前端使用的通信埠,取值:

1-65535

BackendServerPort Integer Server Load Balancer執行個體後端使用的通信埠。取值:

1-6553

说明 如果不使用伺服器組(不指定VServerGroupId參數),則該參數必選。
VServerGroupId String 伺服器組ID。
Bandwidth Integer 監聽的頻寬峰值,取值:
  • -1:不限制頻寬峰值。
  • [1-5000]:監聽的頻寬峰值,所有監聽的頻寬峰值之和不能超過執行個體的頻寬峰值。
AclStatus String 是否開啟存取控制功能。

取值:on | off(預設值)

AclType String 存取控制類型:
  • white: 僅轉寄來自所選存取控制策略組中設定的IP地址或地址段的請求,白名單適用於應用只允許特定IP訪問的場景。

    設定白名單存在一定業務風險。一旦設定白名單,就只有白名單中的IP可以訪問負載平衡監聽。如果開啟了白名單訪問,但存取原則組中沒有添加任何IP,則負載平衡監聽會轉寄全部請求。

  • black: 來自所選存取控制策略組中設定的IP地址或地址段的所有請求都不會轉寄,黑名單適用於應用只限制某些特定IP訪問的場景。

    如果開啟了黑名單訪問,但存取原則組中沒有添加任何IP,則負載平衡監聽會轉寄全部請求。

AclStatus參數的值為on時,該參數必選。

AclId String 監聽綁定的存取原則組ID。

AclStatus參數的值為on時,該參數必選。

XForwardedFor String 是否開啟通過X-Forwarded-For頭欄位獲取來訪者真實 IP,取值:

on(預設值) | off

XForwardedFor_SLBIP String 是否通過SLB-IP頭欄位獲取用戶端請求的真實IP,取值:

on | off(預設值)

IdleTimeout String 指定串連空閑逾時時間,取值範圍為1-60秒,預設值為15秒。

在逾時時間內一直沒有訪問請求,負載平衡會暫時中斷當前串連,直到一下次請求來臨時重新建立新的串連。

RequestTimeout String 指定請求逾時時間,取值範圍為1-180秒,預設值為60秒。

在逾時時間內後端伺服器一直沒有響應,負載平衡將放棄等待,給用戶端返回HTTP 504錯誤碼。

XForwardedFor_SLBID String 是否通過SLB-ID頭欄位獲取Server Load Balancer執行個體ID,取值:

on | off(預設值)

XForwardedFor_proto String 是否通過X-Forwarded-Proto頭欄位獲取Server Load Balancer執行個體的監聽協議,取值:

on | off(預設值)

Scheduler String 調度演算法。取值:
  • wrr(預設值):權重值越高的後端伺服器,被輪詢到的次數(機率)也越高。
  • wlc:除了根據每台後端伺服器設定的權重值來進行輪詢,同時還考慮後端伺服器的實際負載(即串連數)。當權重值相同時,當前串連數越小的後端伺服器被輪詢到的次數(機率)也越高。
  • rr:按照訪問順序依次將外部請求依序分發到後端伺服器。
StickySession String 是否開啟會話保持,取值:

on | off

StickySessionType String cookie的處理方式。取值:
  • insert:植入Cookie。

    用戶端第一次訪問時,負載平衡會在返回請求中植入Cookie(即在HTTP/HTTPS響應報文中插入SERVERID),下次用戶端攜帶此Cookie訪問,負載平衡服務會將請求定向轉寄給之前記錄到的後端伺服器上。

  • server:重寫Cookie。

    負載平衡發現使用者自訂了Cookie,將會對原來的Cookie進行重寫,下次用戶端攜帶新的Cookie訪問,負載平衡服務會將請求定向轉寄給之前記錄到的後端伺服器。

    说明StickySession的值為on時,必須指定該參數。
CookieTimeout Integer Cookie逾時時間。取值:
1-86400(秒)
说明StickySessiononStickySessionTypeinsert時,該參數必選。
Cookie String 伺服器上配置的Cookie。

長度為1-200個字元,只能包含ASCII英文字母和數字字元,不能包含逗號、分號或空格,也不能以$開頭。

StickySessiononStickySessionTypeserver時,該參數必選。

HealthCheck String 是否開啟健康檢查。取值:

on | off

HealthCheckDomain String 用於健康檢查的網域名稱,取值:
  • $_ip: 後端伺服器的私網IP。當指定了IP或該參數未指定時,負載平衡會使用各後端伺服器的私網IP當做健康檢查使用的網域名稱。
  • domain:網域名稱長度為1-80字元,只能包含字母、數字、點號(.)和連字號(-)。
HealthCheckURI String 用於健康檢查的URI。
HealthCheckConnectPort Integer 健康檢查使用的通信埠。取值:
  • 1-65535:健康檢查的後端伺服器的通信埠。
HealthyThreshold Integer 健康檢查連續成功多少次後,將後端伺服器的健康檢查狀態由fail判定為success。

取值:2-10

UnhealthyThreshold Integer 健康檢查連續失敗多少次後,將後端伺服器的健康檢查狀態由success判定為fail。

取值:2-10

HealthCheckTimeout Integer 接收來自健全狀態檢查的響應需要等待的時間。如果後端ECS在指定的時間內沒有正確響應,則判定為健康檢查失敗。

取值:1-300(秒)

说明 如果HealthCHeckTimeout的值小於HealthCheckInterval的值,則HealthCHeckTimeout無效,逾時時間為HealthCheckInterval的值。
HealthCheckInterval Integer 健康檢查的時間間隔。

取值:1-50(秒)

HealthCheckHttpCode String 健康檢查正常的HTTP狀態碼,多個狀態碼用逗號分隔。

取值:http_2xx(預設值) | http_3xx | http_4xx | http_5xx

Gzip String 是否開啟Gzip壓縮,對特定檔案類型進行壓縮。

取值:on(預設值)| off

返回參數

名稱 類型 說明
RequestId String 請求ID。

樣本

請求樣本

https://slb.aliyuncs.com/?Action=CreateLoadBalancerHTTPListener
&LoadBalancerId=lb-t4nj5vuz8ish9emfk1f20
&ListenerPort=80
&BackendServerPort=80
&Bandwidth=-1
&HealthCheck=on
&HealthCheckDomain=$_ip
&HealthCheckURI=/test/index.html
&HealthCheckConnectPort=8080
&HealthyThreshold=4
&UnhealthyThreshold=4
&HealthCheckTimeout=3
&HealthCheckInterval=5
&VServerGroupId=rsp-cige6j5e7p
&公共請求參數
返回樣本
  • XML格式

    <?xml version="1.0" encoding="UTF-8"?>
    <CreateLoadBalancerHTTPListenerResponse>
    	<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>
    </CreateLoadBalancerHTTPListenerResponse>
  • JSON格式

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