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