HTTPS是加密資料傳輸協議,安全性高。當企業進行HTTPS安全改造後,為了方便使用者訪問,可以使用CLB在使用者無感知的情況下將HTTP訪問重新導向至HTTPS。本文為您介紹如何使用CLB將HTTP訪問重新導向至HTTPS。
關鍵特性
平滑切換:在重新導向期間,使用者在訪問網站時,感知不到從HTTP到HTTPS的重新導向過程,因為切換迅速且無縫,不會影響使用者的正常瀏覽行為。
降低負載:後端伺服器不需要處理重新導向邏輯,可以更專註於核心商務邏輯的處理,有助於提高後端伺服器的處理效率。
應用情境
HTTPS安全改造:將現有網站或應用程式從HTTP改造為HTTPS,提升使用者和伺服器之間通訊的安全性。
網域名稱更改/網站遷移:當網站遷移到新的網域名稱時,使用重新導向可以保持使用者訪問的連續性。
情境樣本
企業在阿里雲某地區購買了一個CLB執行個體,並配置了HTTP監聽,為了提升傳輸資料的安全性,需要對網站進行HTTPS安全改造。在改造過程中,防止使用者遇到服務中斷或訪問失敗的情況,該企業選擇使用CLB將HTTP訪問重新導向至HTTPS,從而平穩地將HTTP協議切換為HTTPS協議,保證業務安全性。
注意事項
CLB已經在全部地區開放了HTTP重新導向功能。
配置HTTP重新導向至HTTPS時,HTTP監聽和HTTPS監聽在同一個CLB執行個體下。
CLB執行個體中已存在的HTTP監聽不支援開啟監聽轉寄。需要在建立HTTP監聽時開啟監聽轉寄。
前提條件
您已建立後端伺服器ECS01和ECS02執行個體,並在ECS01和ECS02中均部署了應用服務,本文所涉及的伺服器已安裝Alibaba Cloud Linux 3.2104 LTS 64位作業系統。請參見自訂購買執行個體。
您已建立CLB執行個體,本文以公網CLB為例。請參見建立和管理CLB執行個體。
您已購買認證或者上傳第三方認證到SSL認證服務並綁定網域名稱。請參見正式認證快速入門。
操作步驟
步驟一:建立HTTPS監聽
在頂部功能表列,選擇目標CLB執行個體所屬的地區。
在執行個體管理頁面,找到目標執行個體,然後在操作列單擊監聽設定精靈。
在協議&監聽設定精靈,根據以下資訊配置監聽,然後單擊下一步。
此處僅列出和本文強相關的配置項,其餘參數保持預設值。其他參數的配置,請參見添加HTTPS監聽。
選擇監聽協議:HTTPS。
監聽連接埠:443。
在SSL認證設定精靈,選擇已上傳的伺服器憑證,或者在選擇伺服器憑證時單擊建立伺服器憑證上傳一個伺服器憑證,其餘參數保持預設配置,然後單擊下一步。
在後端伺服器設定精靈,選擇後端伺服器。本文以預設伺服器組為例。
選擇預設伺服器組,然後單擊繼續添加。
在我的伺服器面板,選中ECS01和ECS02,然後單擊下一步。
在配置連接埠和權重設定精靈,配置ECS01和ECS02的權重,單擊添加。
配置ECS01和ECS02的連接埠,本文都設定為80,然後單擊下一步。
在健全狀態檢查設定精靈,保持預設配置,單擊下一步。
在組態稽核設定精靈,檢查監聽配置資訊,然後單擊提交,等待配置成功後,在彈出的對話方塊中單擊知道了。
步驟二:配置HTTP監聽轉寄規則
在監聽頁簽,單擊添加監聽。
在協議&監聽設定精靈,根據以下資訊配置監聽,其餘參數保持預設配置,然後單擊下一步。
監聽配置
說明
選擇監聽協議
選擇監聽的協議類型。
本文選擇HTTP。
監聽連接埠
用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。
本文設定為80。
進階配置
單擊修改展開進階配置。
本文僅修改監聽轉寄,其餘參數保持預設配置。
監聽轉寄
選擇是否將HTTP監聽的流量轉寄到HTTPS監聽。
本文選擇開啟監聽轉寄,並選擇目的監聽為步驟一:建立HTTPS監聽建立的HTTPS監聽。
在組態稽核頁簽,單擊提交,等待配置成功後,單擊知道了。
監聽轉寄開啟後,該CLB執行個體所有來自HTTP:80的訪問都會轉寄至HTTPS:443,並根據HTTPS:443的監聽配置進行轉寄。
步驟三:佈建網域名解析
對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台,才可以進行網域名稱解析設定。
如果您的CLB執行個體為私網類型,需先為其綁定Elastic IP Address(EIP),隨後配置A記錄將網域名稱解析指向該EIP實現公網訪問。
在左側導覽列,選擇
。在執行個體管理頁面,選擇目標執行個體,並複製目標執行個體的服務地址。
執行以下步驟添加A解析記錄。
登入網域名稱解析控制台。
在權威網域名稱解析頁面,找到目標網域名稱,在操作列單擊解析設定。
在解析設定頁面,單擊添加記錄。
在添加記錄面板配置以下資訊,其他參數可保持預設值或根據實際情況修改,完成後單擊確定。
配置
說明
記錄類型
在下拉式清單中選擇A。
主機記錄
您的網域名稱的首碼。
說明建立網域名稱為根網域名稱時,主機記錄為@。
記錄值
輸入欄位名對應的A地址,即您複製的CLB執行個體的服務地址。
步驟四:驗證結果
以任意一台可以訪問公網的終端為例,測試訪問CLB的HTTP請求是否能夠重新導向至HTTPS。
開啟終端的cmd視窗。
執行
curl -v http://<CLB 網域名稱>
,如下圖所示,收到狀態代碼302,表示訪問CLB的請求重新導向至HTTPS。
重新導向狀態代碼說明
CLB支援的重新導向狀態代碼及說明如下表所示。
狀態代碼 | 說明 |
302 | 臨時重新導向,請求的資源只是暫時被移動,用戶端應繼續使用原有URL訪問。 |
常見問題
為何HTTP監聽中找不到開啟監聽轉寄的配置?
之前在CLB執行個體中已經建立的HTTP監聽不能開啟監聽轉寄。您需要重新建立HTTP監聽,才可以開啟監聽轉寄。
相關文檔
CLB重新導向功能通過在CLB執行個體上配置監聽器規則來實現,而ALB在應用程式層面對HTTP請求進行重新導向,具有更靈活的控制能力和更多的配置選項,支援基於路徑的重新導向或者基於要求標頭的重新導向。請參考使用ALB將HTTP訪問重新導向至HTTPS。