監聽是用於檢查串連請求的過程。如果您的應用需要對資料內容進行識別,比如Web應用和手機小遊戲,可以添加一個HTTP監聽來轉寄來自HTTP協議的請求。
前提條件
您已經建立ALB執行個體。具體操作,請參見建立和管理ALB執行個體。
您已經建立可用的後端伺服器組。具體操作,請參見建立和管理伺服器組。
操作指引
本文為您提供以下兩種方式建立HTTP監聽,您可以根據需求選擇其中一種方式建立HTTP監聽。
建立HTTP監聽:您可以根據業務定製進階配置等功能。
快速建立HTTP監聽:您可以快速建立監聽,只需配置監聽協議、監聽連接埠和轉寄的後端伺服器組。
建立HTTP監聽
在頂部功能表列,選擇ALB執行個體的所屬地區。
選擇以下一種方法,開啟監聽設定精靈。
在執行個體頁面,在目標執行個體操作列單擊建立監聽。
在執行個體頁面,單擊目標執行個體ID。在監聽頁簽,單擊建立監聽。
在配置監聽設定精靈,完成以下配置,然後單擊下一步。
監聽配置
說明
選擇監聽協議
選擇監聽的協議類型。
本樣本選擇HTTP。
監聽連接埠
輸入用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠,連接埠範圍為1~65535。 通常HTTP協議使用80連接埠,HTTPS協議使用443連接埠。
說明同一個ALB執行個體內,相同協議的監聽連接埠不能重複,且HTTP和HTTPS監聽連接埠互不重複。
本樣本輸入80。
監聽名稱
輸入監聽名稱。
標籤
設定標籤鍵和標籤值。
設定標籤後,您可以在監聽頁簽使用標籤篩選監聽。
高級配置
單擊修改展開進階配置。
串連空閑逾時時間
指定串連空閑逾時時間,取值範圍為1~600秒,預設為15秒。如需提升配額,請前往配額中心申請。
在逾時時間內一直沒有訪問請求,負載平衡會暫時中斷當前串連,直到下一次請求來臨時重建立立新的串連。
說明該功能對使用HTTP 2.0的請求暫不生效。
串連請求逾時時間
指定請求逾時時間,取值範圍為1~600秒,預設為60秒。如需提升配額,請前往配額中心申請。
在逾時時間內後端伺服器一直沒有響應,負載平衡將放棄等待,給用戶端返回HTTP 504錯誤碼。
數據壓縮
開啟該配置會對特定檔案類型進行壓縮,關閉該配置則不會對任何檔案類型進行壓縮。
目前Brotli支援壓縮所有類型。
Gzip支援壓縮的類型包括:
text/xml、text/plain、text/css、application/javascript、application/x-javascript、application/rss+xml、application/atom+xml、application/xml和application/json。
說明僅當響應內容的
Content-Length值超過1024位元組時,才會觸發資料壓縮。當用戶端請求同時支援Brotli和Gzip壓縮演算法時,ALB會優先選擇更高效的壓縮演算法Brotli。
當用戶端僅支援Gzip壓縮演算法時,若檔案類型為Gzip不支援的類型,則ALB不會進行壓縮。
尋找真實客戶端源IP
允許ALB從X-Forwarded-For頭欄位中尋找真實用戶端IP開關。開啟後,您需要設定可信IP列表。
可信IP列表設定為
0.0.0.0/0:表示擷取X-Forwarded-For請求標題中最左邊的地址,即真實用戶端源IP。可信IP列表設定為
proxy1 IP;proxy2 IP;..:表示從右往左擷取第一個不在這個列表裡面的值,並將其作為真實用戶端源IP。
使用情境說明:
當X-Forwarded-For請求標題中包含多個IP地址時,例如
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …,最左邊的地址是真實用戶端IP,如果您需要使用ALB轉寄規則中基於SourceIp匹配和QPS(基於用戶端源IP限速)功能,您需要開啟尋找真實用戶端源IP開關,以便ALB從X-Forwarded-For頭欄位中尋找真實用戶端源IP。更多資訊,請參見添加轉寄規則。說明僅標準版、WAF增強版ALB執行個體支援開啟尋找真實用戶端源IP,基礎版ALB執行個體不支援。
附加HTTP頭欄位
選擇您要添加的自訂HTTP頭欄位:
選擇是否開啟
X-Forwarded-For頭欄位來擷取來訪者用戶端IP地址。開啟
X-Forwarded-For頭欄位:ALB將請求發送至後端伺服器之前附加、刪除請求中的
X-Forwarded-For頭欄位。附加(預設)
預設情況下,ALB會將用戶端IP地址儲存到X-Forwarded-For頭欄位中,並將該頭欄位資訊發送至後端伺服器。如果原始請求中未包含X-Forwarded-For頭欄位,ALB會建立以用戶端IP地址為請求值的X-Forwarded-For頭欄位。否則,ALB會將用戶端IP地址附加到現有X-Forwarded-For頭欄位中,然後將頭欄位發送至後端伺服器。X-Forwarded-For 要求標頭欄位可能包含多個以逗號分隔的 IP 位址。
刪除
ALB將請求發送至後端伺服器之前,會刪除請求中的
X-Forwarded-For頭欄位。
關閉
X-Forwarded-For頭欄位:ALB將請求發送至後端伺服器之前,不會對請求中的
X-Forwarded-For頭欄位進行任何修改。
欄位格式:
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …ALB如何擷取用戶端真實IP教程,請參見後端伺服器通過ALB擷取用戶端真實IP。
添加
SLB-ID頭欄位擷取Server Load Balancer執行個體的ID。添加
X-Forwarded-Proto頭欄位擷取執行個體的監聽協議。添加
X-Forwarded-Port頭欄位擷取執行個體的監聽連接埠。添加
X-Forwarded-Host頭欄位擷取訪問Server Load Balancer執行個體用戶端的網域名稱。添加
X-Forwarded-Client-srcport頭欄位擷取訪問Server Load Balancer執行個體用戶端的連接埠。
說明建議您的後端伺服器在擷取HTTP頭欄位時,遵循HTTP協議規範,不區分HTTP頭欄位索引值的大小寫。
ALB向後端伺服器傳遞X-Forwarded-For附加頭欄位的首字母始終保持大寫。
針對其他附加HTTP頭欄位,如果用戶端請求中攜帶某個頭欄位,ALB會按照用戶端請求中頭欄位格式向後端伺服器傳遞。否則,ALB會根據上表所示附加頭欄位的欄位名格式向後端伺服器傳遞。
在選擇伺服器組設定精靈,選擇伺服器組,查看後端伺服器資訊,然後單擊下一步。
在設定審核設定精靈,確認配置資訊,然後單擊提交。
快速建立HTTP監聽
選擇快速建立監聽,您只需配置監聽協議、監聽連接埠和轉寄的後端伺服器組。
在頂部功能表列,選擇ALB執行個體的所屬地區。
在執行個體頁面,找到目標執行個體,單擊執行個體ID。
單擊監聽頁簽,在監聽頁簽單擊快速建立監聽。
在快速建立監聽對話方塊中,完成以下參數的配置,然後單擊確定。
監聽配置
說明
選擇監聽協議
選擇一種負載平衡協議。本文選擇HTTP。
監聽連接埠
設定前端協議連接埠,即用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。
您可以直接單擊常用監聽連接埠快捷填寫,或者輸入連接埠。監聽連接埠範圍:1~65535。
選擇資源群組
選擇伺服器組歸屬的資源群組。
轉寄的後端伺服器組
選擇後端服務群組類型及後端伺服器。
相關文檔
ALB提供了豐富的進階轉寄規則,具體操作請參見配置監聽轉寄規則。
如果遇到返回異常碼問題,您可參考ALB狀態代碼說明。
如果遇到健全狀態檢查異常問題,您可參考ALB健全狀態檢查異常排查方法。
更多情境教程,請參見:
使用ALB將HTTP訪問重新導向至HTTPS:通過ALB監聽轉寄規則,可將HTTP協議的請求重新導向到HTTPS,從而確保資料轉送加密,防止中間人攻擊和資料泄露,協助您輕鬆構建符合現代安全標準的網路架構。
使用ALB流量鏡像功能實現模擬壓測:通過ALB提供的流量鏡像功能可以實現線上流量模擬,將線上流量鏡像到測試環境的後端伺服器,同時ALB自動丟棄鏡像後端伺服器返回的響應資料,保證鏡像後端伺服器的測試業務不會影響到線上業務。
使用ALB實現灰階發布:通過配置基於特定條件或不同伺服器組流量權重的監聽轉寄規則,將部分請求轉寄至新版本應用,逐步驗證新版本穩定性,實現灰階發布。