如果您的應用需要進行加密傳輸,您可以建立使用加密串連的HTTPS監聽來轉寄來自HTTPS協議的請求。此功能支援在ALB執行個體與啟動SSL或TLS會話的用戶端之間進行流量加密。
前提條件
操作指引
本文為您提供以下兩種方式建立HTTPS監聽,您可以根據需求選擇其中一種方式建立HTTPS監聽。
建立HTTPS監聽:您可以根據業務定製進階配置功能,如雙向認證功能。
快速建立HTTPS監聽:您可以快速建立監聽,只需配置監聽協議、監聽連接埠、伺服器憑證、TLS安全性原則和轉寄的後端伺服器組。
建立HTTPS監聽
步驟一:配置監聽
- 登入應用型負載平衡ALB控制台。
在頂部功能表列,選擇執行個體所屬的地區。
選擇以下一種方法,開啟監聽設定精靈。
在執行個體頁面,找到目標執行個體,在操作列單擊建立監聽。
在執行個體頁面,單擊目標執行個體ID。在監聽頁簽,單擊建立監聽。
在配置監聽設定精靈,完成以下配置,然後單擊下一步。
監聽配置
說明
選擇監聽協議
選擇監聽的協議類型。
本樣本選擇HTTPS。
監聽連接埠
輸入用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠,本樣本輸入443。通常HTTP協議使用80連接埠,HTTPS協議使用443連接埠。
連接埠範圍為1~65535。
說明同一個ALB執行個體內,相同協議的監聽連接埠不能重複,且HTTP和HTTPS監聽連接埠互不重複。
監聽名稱
輸入監聽名稱。
標籤
設定標籤鍵和標籤值。
設定標籤後,您可以在監聽頁簽使用標籤篩選監聽。
高級配置
單擊修改展開進階配置。
啟用HTTP 2.0
選擇是否開啟HTTP 2.0。
串連空閑逾時時間
指定串連空閑逾時時間,預設取值範圍為1~60秒,如需提升配額,請
前往配額中心申請。
在逾時時間內一直沒有訪問請求,負載平衡會暫時中斷當前串連,直到下一次請求來臨時重建立立新的串連。
說明該功能對使用HTTP 2.0的請求暫不生效。
串連請求逾時時間
指定請求逾時時間,預設取值範圍為1~180秒,如需提升配額,請前往配額中心申請。
在逾時時間內後端伺服器一直沒有響應,負載平衡將放棄等待,給用戶端返回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
。尋找真實客戶端源IP
允許ALB從X-Forwarded-For頭欄位中尋找真實用戶端IP開關。開啟後,您需要設定可信IP列表。
可信IP列表設定為
0.0.0.0/0
:表示擷取X-Forwarded-For請求標題中最左邊的地址,即真實用戶端源IP。可信IP列表設定為
proxy1 IP, proxy2 IP,..
:表示從右往左擷取第一個不在這個列表裡面的值,並將其作為真實用戶端源IP。
使用情境說明:
當X-Forwarded-For請求標題中包含多個IP地址時,例如
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …
,最左邊的地址是真實用戶端IP,如果您需要使用ALB轉寄規則中基於SourceIp匹配和QPS(基於用戶端源IP限速)功能,您需要開啟尋找真實用戶端源IP開關,以便ALB從X-Forwarded-For頭欄位中尋找真實用戶端源IP。更多資訊,請參見添加轉寄規則。
附加HTTP頭欄位
預設已開啟通過X-Forwarded-For頭欄位擷取真實用戶端源IP,ALB會將真實用戶端源IP地址添加到HTTP頭欄位,並將其傳遞給後端伺服器。更多資訊,請參見通過ALB擷取用戶端真實IP。
選擇您要添加的自訂HTTP頭欄位:
添加
SLB-ID
頭欄位擷取Server Load Balancer執行個體的ID。添加
X-Forwarded-Proto
頭欄位擷取執行個體的監聽協議。添加
X-Forwarded-Clientcert-subjectdn
頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的所有者資訊。添加
X-Forwarded-Clientcert-issuerdn
頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的所發行者資訊。添加
X-Forwarded-Clientcert-fingerprint
頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的指紋取值。添加
X-Forwarded-Clientcert-clientverify
頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的校正結果。添加
X-Forwarded-Port
頭欄位擷取Server Load Balancer執行個體的監聽連接埠。添加
X-Forwarded-Client-srcport
頭欄位擷取訪問Server Load Balancer執行個體用戶端的連接埠。
開啟QUIC升級
選擇是否開啟QUIC升級,如果開啟QUIC升級,請在關聯的QUIC監聽下拉式清單中選擇一個已建立的QUIC監聽。
如果您未建立QUIC監聽,單擊建立監聽,建立一個QUIC監聽。具體操作,請參見添加QUIC監聽。
ALB支援iQUIC和gQUIC,具體使用教程請參見使用QUIC協議提升音視頻業務訪問速度。
步驟二:配置SSL認證
添加HTTPS監聽,您需要配置SSL認證以確保您的業務受到加密保護並得到權威機構的身份認證。下表列出了ALB支援配置的認證及認證說明。
認證 | 說明 | 單向認證是否需要 | 雙向認證是否需要 |
伺服器憑證 | 用來證明伺服器的身份。 您的瀏覽器用來檢查伺服器發送的認證是否是由自己信賴的中心簽發的。更多資訊,請參見什麼是SSL認證。 | 是 您可在認證中心購買或上傳伺服器憑證,ALB從認證中心擷取該認證並使用。 | 是 您可在認證中心購買或上傳伺服器憑證,ALB從認證中心擷取該認證並使用。 |
CA認證 | 伺服器用CA認證驗證用戶端認證的簽名。如果沒有通過驗證,拒絕串連。 說明 用戶端使用者在與伺服器端通訊時,用戶端認證用來證明用戶端使用者的真實身份。用戶端認證僅需要在用戶端安裝。 | 否 | 是 您可在認證中心購買CA認證,ALB從認證中心擷取該認證並使用。 |
如果您有多網域名稱訪問或掛載多個伺服器憑證的需求,配置完HTTPS監聽後,您可以選擇為該HTTPS監聽添加擴充認證。具體操作,請參見添加擴充認證。
在設定SSL憑證設定精靈,選擇一個伺服器憑證。
如果您要開啟HTTPS雙向認證或者設定TLS安全性原則,單擊進階配置右側的修改。
開啟進階配置中的啟用雙向認證。選擇CA認證來源為阿里雲簽發,在選擇預設CA認證下拉框中選擇一個CA認證。
如果沒有可選的CA認證,您可以在下拉框中單擊購買CA認證建立新認證。更多資訊,請參見購買及啟用私人CA。
說明僅標準版和WAF增強版的ALB執行個體支援雙向認證,基礎版ALB執行個體不支援雙向認證。
開啟雙向認證後,如果您後續需要關閉雙向認證,請參考以下步驟。
在執行個體頁面,單擊目標執行個體ID。
在監聽頁簽,單擊目標HTTPS協議監聽ID。
在監聽詳情頁簽,在SSL認證地區關閉雙向認證開關。
選擇TLS安全性原則,然後單擊下一步。
如果沒有可選的TLS安全性原則,您可以在下拉框中單擊建立TLS安全性原則。
TLS安全性原則包含HTTPS可選的TLS協議版本和配套的密碼編譯演算法套件,更多資訊,請參見TLS安全性原則。
步驟三:選擇伺服器組
在選擇伺服器組設定精靈,選擇伺服器組,並查看後端伺服器資訊,然後單擊下一步。
步驟四:組態稽核
在設定審核頁面,確認配置資訊,單擊提交。
快速建立HTTPS監聽
選擇快速建立監聽,您只需配置監聽協議、監聽連接埠、伺服器憑證、TLS安全性原則和轉寄的後端伺服器組。
- 登入應用型負載平衡ALB控制台。
在頂部功能表列,選擇ALB執行個體的所屬地區。
在執行個體頁面,找到目標執行個體,單擊執行個體ID。
單擊監聽頁簽,在監聽頁簽單擊快速建立監聽。
在快速建立監聽對話方塊中,完成以下參數的配置,然後單擊確定。
監聽配置
說明
選擇監聽協議
選擇一種監聽協議。本文選擇HTTPS。
監聽連接埠
設定前端協議連接埠,即用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。
您可以直接單擊常用監聽連接埠快捷填寫,或者輸入連接埠。監聽連接埠範圍:1~65535。
選擇伺服器憑證
在下拉框中選擇一個伺服器憑證。
選擇資源群組
選擇伺服器組歸屬的資源群組。
TLS安全性原則
如果沒有可選的TLS安全性原則,您可以在下拉框中單擊建立TLS安全性原則。更多資訊,請參見TLS安全性原則。
轉寄的後端伺服器組
選擇伺服器類型及伺服器類型下的後端伺服器組。
常見問題
HTTPS支援哪些SSL協議版本?
TLS 1.0、TLS 1.1、TLS 1.2以及TLS 1.3版本,更多資訊,請參見TLS安全性原則。
後端伺服器能否擷取用戶端訪問HTTPS監聽的協議版本?
可以。
HTTPS監聽訪問後端伺服器的HTTP協議版本是什嗎?
用戶端請求的協議為HTTP 1.1或者HTTP 2.0版本時,七層監聽訪問後端伺服器的HTTP協議版本是HTTP 1.1。
用戶端請求的協議為除HTTP 1.1和HTTP 2.0以外其他版本時,七層監聽訪問後端伺服器的HTTP協議版本是HTTP 1.0。
ALB監聽認證為萬用字元認證(泛網域名稱認證)時,需滿足哪些規則?
ALB執行個體添加HTTPS監聽時,若選擇的認證為萬用字元認證(泛網域名稱認證)時,請注意以下規則。
選擇萬用字元認證時,ALB僅能夠識別包含一個萬用字元
*
、且萬用字元*
放置在最左邊的萬用字元認證。例如ALB可以識別*.example.com
和*test.example.com
,但不能識別test*.example.com
。萬用字元網域名稱匹配規則:
萬用字元層級:萬用字元網域名稱只能匹配相同層級的任意子網域名稱。例如,
*.example.com
可以匹配test.example.com
,但不能匹配test.test.example.com
(因為該子網域名稱和萬用字元網域名稱層級不同)。IDNA支援情況:
若萬用字元認證中萬用字元是最左側標籤的唯一字元,那麼IDNA標籤可與該萬用字元匹配,例如,
xn--fsqu00a.example.com
可以匹配*.example.com
。若萬用字元認證中萬用字元不是最左側標籤的唯一字元,那麼IDNA標籤不可與該部分萬用字元匹配,例如,
xn--fsqu00atest.example.com
不能匹配*test.example.com
。
字元支援情況:萬用字元認證中的萬用字元
*
僅支援匹配數字0~9、大小寫字母和中劃線(-)。例如,*.example.com
可以匹配test.example.com
,但不能匹配test_test.example.com
。
相關文檔
ALB提供了豐富的進階轉寄規則,具體操作請參見配置監聽轉寄規則。
更多情境教程,請參見: