HTTPS是在HTTP基礎上加入了SSL/TLS加密協議的安全版本,用於保護用戶端和伺服器之間的資料轉送安全。您的業務如果需要傳輸一些敏感性資料例如使用者資訊或身份資訊,或者您想提升您的業務安全性避免可能存在的安全風險,您可以建立HTTPS監聽處理來自用戶端的HTTPS請求。
前提條件
您已經建立CLB執行個體,具體操作,請參見建立和管理CLB執行個體。
使用限制
在配置HTTPS監聽時,後端協議只支援HTTP協議,因此後端伺服器的連接埠必須設定為HTTP的連接埠(通常為80),而不是HTTPS的連接埠(通常為443),且HTTP連接埠不能配置HTTP到HTTPS的重新導向。
注意事項
HTTPS監聽的會話ticket保持時間預設為300秒。
HTTPS監聽實際產生的流量會比賬單中顯示的流量更多一些,因為會使用一些流量用於協議握手。
在建立串連數很高的情況下,會佔用較大的流量。
操作步驟
步驟一:配置監聽
在頂部功能表列處,選擇執行個體所屬的地區。
在執行個體管理頁面,找到目標執行個體,選擇以下一種方式配置監聽。
在操作列單擊監聽設定精靈。
單擊執行個體ID,在執行個體詳情頁選擇監聽頁簽,單擊添加監聽。
在協議&監聽設定精靈,完成以下參數的配置,然後單擊下一步。
監聽配置
說明
選擇監聽協議
選擇監聽的協議類型。
本文選擇HTTPS。
後端協議
監聽協議是HTTPS協議時,後端協議為HTTP協議。
監聽連接埠
用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。連接埠範圍為1~65535。
標籤
選擇或輸入標籤鍵與標籤值。
進階配置
單擊修改展開進階配置。
調度演算法
支援選擇以下調度演算法,預設選擇輪詢 (RR)。
加權輪詢(WRR):權重值越高的後端伺服器,被輪詢到的次數(機率)也越高。
輪詢(RR):按照訪問順序依次將外部請求分發到後端伺服器。
調度演算法的詳細介紹及適用情境,請參見負載平衡調度演算法介紹。
開啟會話保持
預設關閉會話保持。
開啟會話保持功能後,負載平衡會把來自同一用戶端的訪問請求分發到同一台後端伺服器上進行處理。
Cookie處理方式:
植入Cookie:您只需要指定Cookie的到期時間。
用戶端第一次訪問時,負載平衡會在返回請求中植入Cookie(即在HTTP或HTTPS響應報文中插入ServerId),下次用戶端攜帶此Cookie訪問,負載平衡服務會將請求定向轉寄給之前記錄到的後端伺服器上。
會話保持逾時時間:選擇植入Cookie時,輸入會話保持的逾時時間。
重寫Cookie:可以根據需要指定HTTPS或HTTP響應中插入的Cookie。您需要在後端伺服器上維護該Cookie的到期時間和存留時間。
負載平衡服務發現使用者自訂了Cookie,將會對原來的Cookie進行重寫,下次用戶端攜帶新的Cookie訪問,負載平衡服務會將請求定向轉寄給之前記錄到的後端伺服器。
Cookie名稱:選擇重寫Cookie時,輸入Cookie名稱。
啟用HTTP2.0
預設啟用HTTP 2.0。
HTTP 2.0引入了多工(Multiplexing)的特性,開啟CLB前端協議版本為HTTP 2.0後,CLB執行個體會通過一個TCP串連同時傳輸多個HTTP請求和響應,以此提高傳輸效能。
啟用存取控制
預設關閉存取控制。
開啟存取控制後,選擇一種存取控制方式,並設定存取控制策略組,作為該監聽的白名單或黑名單。
- 白名單:允許特定IP訪問Server Load Balancer,僅轉寄來自所選存取控制策略組中設定的IP地址或位址區段的請求,白名單適用於只允許特定IP訪問的情境。設定白名單存在一定業務風險。一旦設定白名單,就只有白名單中的IP可以訪問負載平衡監聽。
如果開啟了白名單訪問,但存取原則組中沒有添加任何IP,則負載平衡監聽會轉寄全部請求。
- 黑名單:禁止特定IP訪問Server Load Balancer,不會轉寄來自所選存取控制策略組中設定的IP地址或位址區段,黑名單適用於只限制某些特定IP訪問的情境。
如果開啟了黑名單訪問,但存取原則組中沒有添加任何IP,則負載平衡監聽會轉寄全部請求。
說明IPv6執行個體只能綁定IPv6存取控制策略組,IPv4執行個體只能綁定IPv4存取控制策略組。存取控制策略的配置請參見建立存取控制策略組。
開啟監聽頻寬限速
對於按頻寬計費的Server Load Balancer執行個體,您可以針對不同監聽設定不同的頻寬峰值來限定監聽的流量。執行個體下所有監聽的頻寬峰值總和不能超過該執行個體的頻寬。
預設不開啟,各監聽共用執行個體的總頻寬,如何共用總頻寬,請參見CLB監聽共用執行個體頻寬。
重要如果公網CLB整體公網頻寬為5 Mbps,配置兩個監聽, 其中A監聽分配頻寬5 Mbps, B監聽沒有分配頻寬,則會出現B監聽連接埠訪問不通的情況,請謹慎分配頻寬。
如果私網CLB配置三個監聽,A、B監聽共分配頻寬5120 Mbps,則剩下的C監聽會出現連接埠訪問不通的情況,請謹慎分配頻寬。
使用流量計費方式的執行個體預設不限制頻寬峰值。
串連空閑逾時時間
CLB執行個體和用戶端之間的TCP串連在沒有資料轉送的情況下保持串連開啟的最長時間。預設取值範圍:1~60秒。
在逾時時間內一直沒有訪問請求,負載平衡會暫時中斷當前串連,直到下一次請求來臨時重建立立新的串連。
說明設定連線逾時時間後,該設定將應用於整個監聽,若需要為某個後端伺服器設定連線逾時時間,則應為此後端伺服器單獨配置監聽,並在新的監聽中設定連線逾時時間。
串連請求逾時時間
在逾時時間內後端伺服器一直沒有響應,負載平衡將放棄等待,給用戶端返回HTTP 504錯誤碼。
預設取值範圍為1~180秒。
Gzip資料壓縮
開啟該配置對特定檔案類型進行壓縮,關閉則不會對任何檔案類型進行壓縮。預設開啟Gzip資料壓縮。
目前Gzip支援壓縮的類型包括:
text/xml
、text/plain
、text/css
、application/javascript
、application/x-javascript
、application/rss+xml
、application/atom+xml
和application/xml
。附加HTTP頭欄位
選擇您要添加的自訂HTTP頭欄位:
添加
X-Forwarded-For
頭欄位擷取用戶端真實IP。說明CLB七層監聽預設開啟通過X-Forwarded-For頭欄位擷取用戶端真實IP功能,不支援關閉,若通過此欄位擷取了多個IP地址,擷取的第一個地址就是用戶端真實IP。具體操作,請參見通過CLB七層監聽擷取用戶端真實IP。
添加
SLB-ID
頭欄位擷取Server Load Balancer執行個體的ID。添加
SLB-IP
頭欄位擷取Server Load Balancer執行個體IP地址。添加
X-Forwarded-Proto
頭欄位擷取負載平衡的監聽協議。
擷取用戶端真實IP
擷取來訪者的真實IP地址,預設開啟。
建立完畢自動啟動監聽
是否在監聽配置完成後啟動負載平衡監聽,預設開啟。
步驟二:配置SSL認證
步驟三:添加後端伺服器
添加處理前端請求的後端伺服器。您可以使用執行個體配置的預設伺服器組,也可以為監聽配置一個虛擬伺服器組。更多資訊請參見CLB伺服器組。本文以預設後端伺服器組為例進行配置說明。
HTTPS監聽不支援添加主備伺服器組。
在後端伺服器設定精靈,選擇預設伺服器組,單擊繼續添加。
在選擇伺服器設定精靈,選擇要添加的後端伺服器,單擊下一步。
在配置連接埠和權重設定精靈,設定權重,單擊添加。
說明權重預設為100,權重越高的後端伺服器將被分配到更多的訪問請求。
權重設定為0的伺服器不會接受新請求。
配置後端伺服器(ECS執行個體)接收請求的連接埠,單擊下一步。連接埠範圍為1~65535。
說明同一個Server Load Balancer執行個體內,後端伺服器連接埠可以相同。
步驟四:配置健全狀態檢查
CLB通過健全狀態檢查判斷後端伺服器的可用性,提升前端業務整體可用性,避免後端伺服器異常影響服務。
主備伺服器組的監聽不能關閉健全狀態檢查。
可選:在健全狀態檢查設定精靈,單擊修改更改健全狀態檢查配置,單擊下一步。具體請參見配置和管理CLB健全狀態檢查。
在組態稽核設定精靈中檢查監聽配置,單擊修改更改配置。
確認無誤後,單擊提交,配置成功後,單擊知道了。
配置成功後,您可以在頁面查看已建立的監聽。
常見問題
負載平衡CLB支援配置HTTPS監聽實現全鏈路HTTPS訪問嗎?
不支援。由於配置HTTPS監聽時,後端協議只支援HTTP協議,因此當負載平衡CLB接收到用戶端發送的HTTPS請求後,會先進行解密將解密後的資料以HTTP協議的形式轉寄到後端伺服器,以此來簡化後端伺服器的配置,避免HTTPS的TLS握手消耗效能。
您可以通過以下兩種方式實現業務的全鏈路HTTPS訪問:
通過建立應用程式層負載平衡ALB執行個體並配置HTTPS監聽,實現業務的全鏈路HTTPS訪問。具體操作,請參見配置全鏈路HTTPS訪問實現加密通訊。
通過為傳統型負載平衡CLB執行個體配置TCP監聽,並在對應後端伺服器中配置SSL認證。
HTTPS監聽使用什麼連接埠?
HTTPS監聽對連接埠無特殊要求,建議您使用443連接埠。
負載平衡支援哪些類型的認證?
支援上傳PEM格式的伺服器憑證和CA認證。
伺服器憑證需要上傳認證內容和私密金鑰,CA認證只需要上傳認證內容。
負載平衡是否支援keytool建立的認證?
支援。
但在上傳認證前,您需要將認證轉換為PEM格式,更多資訊,請參見轉換認證格式。
可以使用PKCS#12(PFX)格式的認證嗎?
可以。
但在上傳認證前,您需要將認證轉換為PEM格式,更多資訊,請參見轉換認證格式。
添加認證時,為什麼會出現KeyEncryption的錯誤?
該錯誤是由於私密金鑰內容有誤導致。更多資訊,請參見認證要求和轉換認證格式。
負載平衡HTTPS支援哪些SSL協議版本?
TLSv1.0、TLSv1.1、TLSv1.2以及TLSv1.3版本。
HTTPS session ticket的保持時間是多久?
HTTPS session ticket保持時間為300秒。
可以上傳包含DH PARAMETERS欄位的認證嗎?
HTTPS監聽使用的ECDHE演算法簇支援前向保密技術,不支援將DHE演算法簇所需要的安全增強參數檔案上傳,即不支援將PEM認證檔案中含BEGIN DH PARAMETERS欄位的認證上傳。
HTTPS監聽是否支援SNI?
SNI(Server Name Indication)是為瞭解決一個伺服器使用多個網域名稱和認證的SSL/TLS擴充,負載平衡HTTPS監聽支援SNI功能,更多資訊,請參見添加和管理CLB擴充網域名稱。
相關文檔
HTTPS在安全性方面提供了更好的保護,但可能會增加一些開銷,如計算資源和網路延遲,在內部網路通訊、測試和開發環境或者非敏感資訊傳輸等情境,您也可選擇性使用HTTP監聽,具體操作可參考添加HTTP監聽。在實際生產環境中,建議您使用HTTPS進行加密傳輸。
後端伺服器組的操作,您可參考:
健全狀態檢查原理,您可參考CLB健全狀態檢查。配置健全狀態檢查參數的詳細介紹,您可參考配置和管理CLB健全狀態檢查。
負載平衡調度演算法介紹,您可參考負載平衡調度演算法介紹。
如果您需要為HTTPS監聽添加網域名稱或URL的轉寄策略,請參見基於網域名稱或URL路徑進行轉寄。
如果您需要將HTTP訪問重新導向至HTTPS,請參見使用CLB將HTTP訪問重新導向至HTTPS。
如果您需要使用CLB部署HTTPS單向認證業務,請參見使用CLB部署HTTPS業務(單向認證)。
如果您需要使用CLB部署HTTPS雙向認證業務,請參見使用CLB部署HTTPS業務(雙向認證)。
如果您需要使用CLB配置多網域名稱HTTPS網站,請參見單CLB執行個體配置多網域名稱HTTPS網站。
當您使用HTTPS監聽時,如果您需要後端伺服器通過CLB擷取用戶端真實IP地址,您可參考教程通過CLB七層監聽擷取用戶端真實IP進行配置。