監聽是用於檢查串連請求的過程。使用者可以根據業務需求為ALB執行個體建立監聽來轉寄用戶端請求,並對監聽進行修改、啟停、刪除等管理操作。
監聽協議選型
建立監聽前,建議根據業務需求選擇合適的監聽協議。ALB支援HTTP、HTTPS和QUIC三種七層監聽協議,不同協議的適用情境和配置要求如下表所示。
協議 | 適用情境 | 是否需要SSL認證 | 支援的後端協議 | 特性 |
HTTP | 需要對資料內容進行識別的應用,如Web應用、手機小遊戲等。 | 否 | HTTP、HTTPS | 預設支援WebSocket協議。 |
HTTPS | 需要加密傳輸的應用。支援在ALB執行個體與用戶端之間建立SSL/TLS加密會話。 | 是(伺服器憑證必選,CA認證雙向認證時必選) | HTTP、HTTPS、gRPC(需開啟HTTP 2.0) | 支援HTTP 2.0、雙向認證(CA認證)、TLS安全性原則、QUIC協議升級。預設支援WebSocket Secure(WSS)協議。 |
QUIC | 網路訊號較弱、頻繁切換Wi-Fi和移動網路等情境。可有效解決網路、視訊卡頓問題,提升音視頻資源訪問效率,同時保障資料轉送安全性。 | 是(伺服器憑證必選) | HTTP | 基於UDP傳輸,串連建立更快,支援串連遷移(網路切換不斷連)。可單獨使用或與HTTPS監聽聯合使用。 |
前提條件
建立/刪除監聽
控制台
ALB支援以下兩種方式建立監聽:
建立監聽:通過設定精靈逐步完成,支援自訂進階配置。
快速建立監聽:只需配置監聽協議、監聽連接埠和伺服器組(HTTPS/QUIC還需設定管理員認證,HTTPS還需選擇TLS安全性原則)。
建立監聽
步驟一:配置監聽
前往ALB控制台的執行個體頁面,單擊目標執行個體ID,在監聽頁簽下單擊建立監聽。
在配置監聽設定精靈,完成以下配置,然後單擊下一步。
選擇監聽協議:HTTP、HTTPS或QUIC。
監聽連接埠:連接埠範圍為1~65535。通常HTTP使用80連接埠,HTTPS使用443連接埠。
同一個ALB執行個體內,相同協議的監聽連接埠不能重複。此外,HTTP和HTTPS監聽也不能使用相同連接埠。
監聽名稱:輸入監聽的自訂名稱。
標籤:以索引值對形式標記監聽。
高級配置:單擊修改展開。
啟用HTTP2.0:僅HTTPS監聽支援。
串連空閑逾時時間:取值範圍1~600秒,預設15秒。逾時後串連將被斷開。如需提升最大逾時時間,請前往配額中心申請。
當監聽協議為HTTP時,串連空閑逾時時間對HTTP 2.0請求暫不生效。
串連請求逾時時間:取值範圍1~600秒,預設60秒。逾時後返回HTTP 504錯誤碼。如需提升最大逾時時間,請前往配額中心申請。
數據壓縮:開啟後對響應內容進行壓縮,僅當
Content-Length超過1024位元組時觸發。支援Brotli(所有類型)和Gzip,用戶端同時支援時優先使用Brotli。Gzip支援的類型:
text/xml、text/plain、text/css、application/javascript、application/x-javascript、application/rss+xml、application/atom+xml、application/xml、application/json。尋找真實客戶端源IP:開啟後,ALB從X-Forwarded-For頭欄位中提取真實用戶端IP。需設定可信IP列表:
0.0.0.0/0:取X-Forwarded-For中最左邊的地址。proxy1 IP;proxy2 IP;..:從右往左取第一個不在列表中的值。
開啟後,轉寄規則中基於SourceIp匹配和QPS(基於客戶端源IP限速)將使用真實用戶端IP。
QUIC監聽不支援此配置項。
僅標準版、WAF增強版執行個體支援,基礎版不支援。
附加HTTP頭欄位:選擇要添加的HTTP頭欄位,用於擷取用戶端IP、監聽協議、連接埠等資訊。各頭欄位的詳細說明,請參見HTTP頭欄位。
開啟QUIC升級:適用於HTTPS監聽與QUIC監聽聯合使用的情境。在關聯的QUIC監聽中選擇已建立的QUIC監聽。開啟後,ALB會向用戶端通告HTTP/3協議,支援HTTP/3的用戶端將優先通過QUIC監聽訪問,不支援時自動回退為HTTPS。
僅HTTPS監聽支援此配置項。
步驟二:配置SSL認證(僅HTTPS/QUIC監聽)
認證 | 說明 | 單向認證是否需要 | 雙向認證是否需要 |
伺服器憑證 | 證明伺服器身份,由用戶端校正是否受信。更多資訊,請參見什麼是SSL認證。 | 是 | 是 |
CA認證 | 伺服器用CA認證驗證用戶端認證的簽名,未通過則拒絕串連。 | 否 | 是 |
新認證應用後通常一到三分鐘生效。
QUIC監聽僅需設定管理員認證,不支援雙向認證。
如需多網域名稱訪問或掛載多個伺服器憑證,可為監聽添加擴充認證。
在配置SSL認證設定精靈,選擇伺服器憑證。
僅HTTPS監聽:選擇TLS安全性原則。
系統提供多種預定義策略可直接選用。如需自訂TLS協議版本和密碼編譯演算法套件,可單擊創建 TLS 安全性原則並建立自訂策略。更多資訊,請參見TLS安全性原則。
僅HTTPS監聽(可選):開啟啟用雙向認證,選擇CA認證來源並選擇CA認證。
選擇CA認證來源為阿里雲簽發,在選擇預設CA認證下拉框中選擇CA認證。如果沒有可選的CA認證,可單擊購買CA認證以建立新CA認證。
選擇CA認證來源為非阿里雲簽發,在選擇預設CA認證下拉框中選擇CA認證。如果沒有可選的CA認證,可單擊上傳自簽CA認證,通過認證應用倉庫上傳自簽名CA認證。
僅標準版和WAF增強版執行個體支援雙向認證,基礎版不支援。
步驟三:選擇伺服器組
在選擇伺服器組設定精靈,選擇伺服器組,並查看後端伺服器資訊,然後單擊下一步。
步驟四:組態稽核
在組態稽核頁面,確認配置資訊,單擊提交。
快速建立監聽
前往ALB控制台的執行個體頁面,單擊目標執行個體ID,在監聽頁簽下單擊快速建立監聽。
在快速建立監聽對話方塊中,完成以下參數的配置,然後單擊確定。
刪除監聽
前往ALB控制台的執行個體頁面,單擊目標執行個體ID,在監聽頁簽找到目標監聽,在操作列選擇
> 刪除。在彈出的對話方塊中,單擊確定。
API
調用CreateListener建立監聽。
調用DeleteListener刪除監聽。
修改監聽
監聽協議和監聽連接埠建立後不支援修改。如需更改,請刪除監聽後重新建立。
控制台
前往ALB控制台的執行個體頁面,單擊目標執行個體ID。
單擊監聽頁簽,找到目標監聽,選擇以下一種方法,修改監聽基本資料。
單擊目標監聽ID或在操作列單擊查看詳情,進入監聽詳情頁簽,在監聽基本資料地區單擊編輯監聽。
在操作列選擇
> 編輯監聽。
在編輯監聽對話方塊中,修改監聽名稱或進階配置,然後單擊儲存。
API
調用UpdateListenerAttribute更新監聽的配置。
啟動或停止監聽
啟動或停止監聽時,監聽會短暫進入配置中狀態,在此期間無法對監聽進行刪除、編輯或更換伺服器組等操作。
停止監聽會使訪問中斷,請謹慎操作。
控制台
前往ALB控制台的執行個體頁面,單擊目標執行個體ID。
單擊監聽頁簽,找到目標監聽,通過以下任一方式啟動或停止監聽:
在操作列選擇
> 啟動或停止,在彈出的對話方塊中單擊確定。單擊目標監聽ID,在監聽詳情頁簽右上方單擊啟動或停止。
API
調用StartListener啟動監聽。
調用StopListener停止監聽。
更換伺服器組
控制台
API
調用UpdateListenerAttribute更新監聽的配置(含更換伺服器組)。
管理憑證
控制台
API
調用UpdateListenerAttribute更新監聽的認證配置。
調用AssociateAdditionalCertificatesWithListener為監聽添加擴充認證。
調用DissociateAdditionalCertificatesFromListener從監聽移除擴充認證。
修改TLS安全性原則(僅HTTPS監聽)
控制台
在監聽詳情頁簽,找到SSL 憑證地區,在TLS 安全性原則右側單擊
表徵圖。在彈出的編輯 TLS 安全性原則對話方塊中,選擇TLS安全性原則,然後單擊儲存。
系統提供多種預定義策略可直接選用。如需自訂TLS協議版本和密碼編譯演算法套件,可單擊創建 TLS 安全性原則並建立自訂策略。更多資訊,請參見TLS安全性原則。
API
調用UpdateListenerAttribute更新監聽的配置,通過SecurityPolicyId參數指定TLS安全性原則。
管理鏈路追蹤
僅標準版和WAF增強版的ALB執行個體支援鏈路追蹤。鏈路追蹤的詳細說明和開啟指導,請參見通過ALB鏈路追蹤實現業務全鏈路分析。
開啟鏈路追蹤後,會產生可觀測鏈路 OpenTelemetry 版和Log Service相關費用。
計費
監聽本身不產生費用,ALB執行個體隨用隨付。
配額
配額名稱 | 描述 | 預設值 | 最大支援提升至 | 是否支援申請 |
alb_quota_loadbalancer_listeners_num_basic_edition | 一個基礎版ALB執行個體可添加的監聽數 | 50個 | 80個 | |
alb_quota_loadbalancer_listeners_num_standard_edition | 一個標準版ALB執行個體可添加的監聽數 | 50個 | 100個 | |
alb_quota_loadbalancer_listeners_num_standardwithwaf_edition | 一個WAF增強版ALB執行個體可添加的監聽數 | 50個 | 100個 | |
alb_quota_max_idle_timeout | 建立監聽時串連空閑最大逾時時間 | 600秒 | 3600秒 | |
alb_quota_max_request_timeout | 建立監聽時串連請求最大逾時時間 | 600秒 | 3600秒 |
僅ALB升級執行個體支援將alb_quota_max_request_timeout和alb_quota_max_idle_timeout配額提升至最大3600秒;未升級執行個體僅支援提升至最大900秒。