當您在面對網路訊號較弱、頻繁切換Wi-Fi和移動網路等情況時,QUIC(Quick UDP Internet Connections)協議可以有效解決網路、視訊卡頓的問題,提升音視頻資源的訪問效率,同時保障資料轉送的安全性。您可以建立使用加密串連的QUIC監聽,以轉寄來自QUIC協議的請求。
QUIC協議介紹
QUIC協議又被稱為快速UDP互連網連線協定,提供與SSL相同的安全性,同時具備多工等多種優勢,具有極佳的弱網效能,在丟包和網路延遲嚴重的情況下仍可提供可用的服務。QUIC協議在應用程式層面可以實現不同的擁塞控制演算法,不需要作業系統和核心支援,相比於傳統的TCP協議,擁有了更好的改造靈活性,適合用於在TCP協議最佳化遇到瓶頸的業務。
隨著短視頻、直播等新興業務的飛速發展,流媒體傳輸對於頻寬和延遲提出了雙重要求,QUIC協議可以有效解決網路、視訊卡頓的問題,提升音視頻資源的訪問效率,同時保障資料轉送的安全性。
支援的QUIC協議類型
ALB支援gQUIC和iQUIC。HTTP/3協議是以iQUIC協議為基礎構建的應用程式層協議,它主要依賴iQUIC來實現多工、擁塞控制、損失檢測和重新傳輸等功能。HTTP/3協議可以更快地啟動用戶端串連,消除了多工流中的隊頭阻塞,並且支援用戶端IP地址更改時的串連遷移。
ALB支援的gQUIC協議版本有Q46、Q43、Q39,對應的Chrome瀏覽器版本為Chrome 74-81。
ALB支援的HTTP/3協議版本為h3,對應的Chrome瀏覽器版本為Chrome 87及以上。
QUIC監聽使用情境
情境 | 說明 |
QUIC監聽單獨使用 | 要求用戶端都支援HTTP/3協議 |
QUIC監聽與HTTPS監聽聯合使用 | 用戶端暫未全量支援HTTP/3協議時,ALB會根據用戶端情況自動協商,優先使用HTTP/3。協商不成功時,會回退為使用HTTPS或HTTP/2。 相關操作,請參見: |
前提條件
您已經建立了應用型Server Load Balancer執行個體。具體操作,請參見建立和管理ALB執行個體。
您已經在應用型Server Load Balancer執行個體上部署至少一個SSL伺服器憑證。
您已經建立可用的後端伺服器組。具體操作,請參見建立和管理伺服器組。
操作指引
本文為您提供以下兩種方式建立QUIC監聽,您可以根據需求選擇其中一種方式建立QUIC監聽。
建立QUIC監聽:您可以根據業務定製進階配置等功能。
快速建立QUIC監聽:您可以快速建立監聽,只需配置監聽協議、監聽連接埠、伺服器憑證和轉寄的後端伺服器組。
建立QUIC監聽
步驟一:配置監聽
完成以下操作,配置QUIC監聽。
選擇以下一種方法,開啟監聽設定精靈。
在執行個體頁面,單擊目標執行個體操作列下的建立監聽。
在執行個體頁面,單擊目標執行個體ID。在監聽頁簽,單擊建立監聽。
在配置監聽設定精靈,完成以下配置,然後單擊下一步。
監聽配置
說明
選擇監聽協議
選擇監聽的協議類型。
本樣本選擇QUIC。
監聽連接埠
輸入用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。
連接埠範圍為1~65535。
說明同一個ALB執行個體內,相同協議的監聽連接埠不能重複,且HTTP和HTTPS監聽連接埠互不重複。
監聽名稱
輸入監聽名稱。
標籤
設定標籤鍵和標籤值。
設定標籤後,您可以在監聽頁簽使用標籤篩選監聽。
進階配置
單擊修改展開進階配置。
串連空閑逾時時間
指定空閑逾時時間,取值範圍為1~600秒,預設為15秒。如需提升配額,請前往配額中心申請。
在逾時時間內一直沒有訪問請求,負載平衡會暫時中斷當前串連,直到下次請求來臨時重建立立新的串連。
串連請求逾時時間
指定請求逾時時間,取值範圍為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不會進行壓縮。
附加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頭欄位擷取Server Load Balancer執行個體的監聽協議。通過
X-Forwarded-Port頭欄位擷取Server Load Balancer執行個體的監聽連接埠。通過
X-Forwarded-Host頭欄位擷取訪問Server Load Balancer執行個體用戶端的網域名稱。添加
X-Forwarded-Client-srcport頭欄位擷取訪問Server Load Balancer執行個體用戶端的連接埠。
說明僅ALB升級執行個體在建立QUIC監聽時,支援添加
X-Forwarded-For和X-Forwarded-Client-srcport頭欄位。
步驟二:配置SSL認證
配置SSL認證以確保您的業務受到加密保護並得到權威機構的身份認證。更多資訊,請參見SSL認證。
由於新認證的上傳、載入及驗證過程均需一定時間,因此ALB執行個體在應用新認證後,也需要一定時間生效。通常生效時間為一分鐘,最長不會超過三分鐘。
在配置SSL認證設定精靈,選擇一個伺服器憑證或在伺服器憑證下拉式清單中單擊建立認證建立新認證。 然後單擊下一步。
步驟三:選擇伺服器組
在選擇伺服器組設定精靈,選擇伺服器組,查看後端伺服器資訊,然後單擊下一步。
步驟四:組態稽核
在組態稽核設定精靈,確認配置資訊,單擊提交。
快速建立QUIC監聽
選擇快速建立監聽,您只需配置監聽協議、監聽連接埠、伺服器憑證和轉寄的後端伺服器組。
在頂部功能表列,選擇ALB執行個體的所屬地區。
在執行個體頁面,找到目標執行個體,單擊執行個體ID。
單擊監聽頁簽,在監聽頁簽單擊快速建立監聽。
在快速建立監聽對話方塊中,完成以下參數的配置,然後單擊確定。
相關文檔
ALB提供了豐富的進階轉寄規則,具體操作請參見配置監聽轉寄規則。
如果遇到返回異常狀態代碼問題,您可參考ALB狀態代碼說明。
如果遇到健全狀態檢查異常問題,您可參考ALB健全狀態檢查異常排查方法。
通過QUIC協議提升應用訪問效率的配置教程,請參見使用QUIC協議提升音視頻業務訪問速度。