本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為您的應用程式負載平衡器建立 HTTPS 接聽程式
接聽程式會檢查連線要求。當您在立負載平衡器時便定義接聽程式,然後可隨時新增接聽程式到您的負載平衡器。
若要建立 HTTPS 接聽程式,您必須在負載平衡器上至少部署一個 SSL 伺服器憑證。負載平衡器使用伺服器憑證終止前端連接,然後解密用戶端的請求,再將它們傳送到目標。您也必須指定安全性原則,此原則可用來交涉用戶端與負載平衡器之間的安全連線。
如果您需要在負載平衡器解密的情況下將加密流量傳遞給目標,則可以在連接埠 443 上建立具有 TCP 接聽程式的 Network Load Balancer 或 Classic Load Balancer。使用 TCP 接聽程式時,負載平衡器會將加密的流量傳遞到目標,而不需要解密。
應用程式負載平衡器不支援相互 TLS 驗證 (MTL)。對於 MTL 支援,請使用 Network Load Balancer 或 Classic Load Balancer 建立 TCP 接聽程式,並在目標上實作 MTL。
應用程式負載平衡器不支援 ED25519 金鑰。
此頁面的資訊協助您為負載平衡器建立 HTTPS 接聽程式。若要將 HTTP 接聽程式新增至您的負載平衡器,請參閱為您的應用程式負載平衡器建立 HTTP 接聽程式。
SSL 憑證
負載平衡器需要 X.509 憑證 (SSL/TLS 伺服器憑證)。憑證為憑證授權機構 (CA) 發出的數位形式身分證明。憑證包含識別資訊、有效期間、公有金鑰、序號和發行者的數位簽章。
建立憑證以搭配您的負載平衡器使用時,您必須指定網域名稱。憑證上的網域名稱必須與自訂網域名稱記錄相符,以便我們可以驗證 TLS 連線。如果它們不相符,則不會加密流量。
您必須為憑證指定完整網域名稱 (FQDN),例如 www.example.com
;或者指定 apex 網域名稱 (FQDN),例如 example.com
。您也可以使用星號 (*) 做為萬用字元,以保護相同網域中的多個網站名稱。請求萬用字元憑證時,星號 (*) 必須在網域名稱的最左方,而且僅能保護一個子網域層級。例如,*.example.com
保護 corp.example.com
和 images.example.com
,但它無法保護 test.login.example.com
。另請注意,*.example.com
只可以保護 example.com
的子網域,無法保護 bare 或 apex 網域 (example.com
)。萬用字元名稱會顯示在憑證的「主旨」欄位和「主體別名」副檔名中。如需公有憑證的詳細資訊,請參閱 AWS Certificate Manager 使用者指南中的請求公有憑證。
建議您使用 AWS Certificate Manager(ACM)
或者,您可以使用 SSL/TLS 工具建立憑證簽署要求 (CSR),然後取得 CA 簽署的 CSR 以產生憑證,然後將憑證匯入 ACM 或將憑證上傳至 AWS Identity and Access Management (IAM)。如需有關將憑證匯入 ACM 的詳細資訊,請參閱AWS Certificate Manager使用指南中的匯入憑證。如需上傳憑證至 IAM 的詳細資訊,請參閱 IAM 使用者指南中的使用伺服器憑證。
預設憑證
建立 HTTPS 接聽程式時,您必須指定剛好一個憑證。此憑證稱為預設憑證。您可以在建立 HTTPS 接聽程式之後取代預設憑證。如需詳細資訊,請參閱更換預設憑證。
如果您在憑證清單中指定額外憑證,只有當用戶端連接時未使用伺服器名稱指示 (SNI) 通訊協定來指定主機名稱,或憑證清單中沒有相符的憑證時,才會使用預設憑證。
如果您不指定額外憑證,但需要透過單一負載平衡器來託管多個安全應用程式,您可以使用萬用字元憑證,或將每個額外網域的主體別名 (SAN) 新增至憑證。
憑證清單
HTTPS 接聽程式建立之後具有預設憑證和空的憑證清單。您可以選擇性將憑證新增至接聽程式的憑證清單。使用憑證清單可讓負載平衡器在相同連接埠上支援多個網域,並為每個網域提供不同的憑證。如需詳細資訊,請參閱將憑證新增至憑證清單。
負載平衡器使用支援 SNI 的智慧憑證選擇演算法。如果用戶端提供的主機名稱符合憑證清單中的單一憑證,負載平衡器會選取此憑證。如果用戶端提供的主機名稱符合憑證清單中的多個憑證,負載平衡器會選取用戶端可支援的最佳憑證。憑證選擇是根據採用下列順序的以下條件:
-
公有金鑰演算法 (ECDSA 優於 RSA)
-
雜湊演算法 (SHA 優於 MD5)
-
金鑰長度 (最好是最大)
-
有效期間
負載平衡器存取日誌項目會指出用戶端指定的主機名稱和向用戶端出示的憑證。如需詳細資訊,請參閱存取日誌項目。
憑證續約
每個憑證均附帶有效期間。您必須確保在有效期間結束之前,續約或更換負載平衡器的每個憑證。這包括預設憑證和憑證清單中的憑證。續約或更換憑證不會影響負載平衡器節點收到並且等待路由到運作狀態良好目標的傳輸中請求。續約憑證之後,新請求會使用續約的憑證。更換憑證之後,新請求會使用新的憑證。
您可以如下所示管理憑證續約和更換:
安全政策
Elastic Load Balancing 使用 Secure Sockets Layer (SSL) 交涉組態 (稱為安全政策),在用戶端與負載平衡器之間交涉 SSL 連線。安全政策為通訊協定與加密的組合。通訊協定會在用戶端與伺服器之間建立安全連線,並確保在用戶端與負載平衡器之間傳遞的所有資料為私有。隨碼是一項加密演算法,使用加密金鑰來建立編碼的訊息。通訊協定使用多個加密來加密透過網際網路的資料。在連線交涉程序期間,用戶端與負載平衡器會出示它們分別支援的加密和通訊協定的清單 (以偏好的順序)。在預設情況下,將針對安全連線選取伺服器清單上符合任何用戶端加密的第一個加密。
應用程式負載平衡器僅支援目標連線的 SSL 重新交涉。
建立 HTTPS 接聽程式時,您必須選取安全性原則。您可以視需要更新安全政策。如需詳細資訊,請參閱更新安全政策。
您可以選擇前端連線所用的安全政策。對於後端連線,如果您的 HTTPS 接聽程式使用 TLS 1.3 安全性原則,則會使用ELBSecurityPolicy-TLS13-1-0-2021-06
安全性原則。否則,ELBSecurityPolicy-2016-08
安全性原則會用於後端連線。應用程式負載平衡器不支援自訂安全性原則。
注意
僅在新的 EC2 體驗中支援應用程式負載平衡器的 TLS 1.3 政策。使用舊的 EC2 體驗時,無法選擇 TLS 1.3 政策。
Elastic Load Balancing 為應用程式負載平衡器提供下列安全性原則:
-
ELBSecurityPolicy-TLS13-1-2-2021-06
* -
ELBSecurityPolicy-TLS13-1-2-Res-2021-06
-
ELBSecurityPolicy-TLS13-1-2-Ext1-2021-06
-
ELBSecurityPolicy-TLS13-1-2-Ext2-2021-06
-
ELBSecurityPolicy-TLS13-1-1-2021-06
-
ELBSecurityPolicy-TLS13-1-0-2021-06
-
ELBSecurityPolicy-TLS13-1-3-2021-06
-
ELBSecurityPolicy-FS-1-2-Res-2020-10
-
ELBSecurityPolicy-FS-1-2-Res-2019-08
-
ELBSecurityPolicy-FS-1-2-2019-08
-
ELBSecurityPolicy-FS-1-1-2019-08
-
ELBSecurityPolicy-FS-2018-06
-
ELBSecurityPolicy-TLS-1-2-Ext-2018-06
-
ELBSecurityPolicy-TLS-1-2-2017-01
-
ELBSecurityPolicy-TLS-1-1-2017-01
-
ELBSecurityPolicy-2016-08
** -
ELBSecurityPolicy-TLS-1-0-2015-04
-
ELBSecurityPolicy-2015-05
(與ELBSecurityPolicy-2016-08
相同)
您可以使用其中一個 ELBSecurityPolicy-TLS
政策,以滿足需要停用特定 TLS 通訊協定版本的合規和安全標準,或是支援需要已淘汰加密的舊版用戶端。網際網路用戶端中只有一小部分百分比需要 TLS 版本 1.0。若要檢視對您的負載平衡器的請求 TLS 通訊協定版本,請為您的負載平衡器啟用存取記錄並檢查存取日誌。如需詳細資訊,請參閱存取日誌。
* 對於 HTTPS 接聽程式,我們建議使用ELBSecurityPolicy-TLS13-1-2-2021-06
安全性原則。這是使用建立的 HTTPS 接聽程式的預設原則AWS Management Console。此安全性原則包含 TLS 1.3 (針對安全性和效能進行最佳化),並且向下相容於 TLS 1.2。
** 此ELBSecurityPolicy-2016-08
原則是使用建立之接聽程式的預設安全性原則。AWS CLI
如果您需要前向保密 (FS),請使用下列政策之一:
-
任何
ELBSecurityPolicy-FS
政策 -
ELBSecurityPolicy-TLS13-1-2-2021-06
-
ELBSecurityPolicy-TLS13-1-3-2021-06
-
ELBSecurityPolicy-TLS13-1-2-Res-2021-06
安全性原則
下表說明建議的原則 (ELBSecurityPolicy-TLS13-1-2-2021-06
) 和其他 TLS 1.3 政策。ELBSecurityPolicy-
前置詞已從標題列的策略名稱中移除,使其符合。
安全政策 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|---|---|
TLS 通訊協定 | |||||||
Protocol-TLSv1 |
✓ | ||||||
Protocol-TLSv1.1 |
✓ | ✓ | |||||
Protocol-TLSv1.2 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Protocol-TLSv1.3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
TLS 加密 | |||||||
TLS_AES_128_GCM_SHA256 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
TLS_AES_256_GCM_SHA384 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
TLS_CHACHA20_POLY1305_SHA256 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-ECDSA-AES128-GCM-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ECDHE-RSA-AES128-GCM-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ECDHE-ECDSA-AES128-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ | ||
ECDHE-RSA-AES128-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ | ||
ECDHE-ECDSA-AES128-SHA |
✓ | ✓ | ✓ | ||||
ECDHE-RSA-AES128-SHA |
✓ | ✓ | ✓ | ||||
ECDHE-ECDSA-AES256-GCM-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ECDHE-RSA-AES256-GCM-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ECDHE-ECDSA-AES256-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ | ||
ECDHE-RSA-AES256-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ | ||
ECDHE-RSA-AES256-SHA |
✓ | ✓ | ✓ | ||||
ECDHE-ECDSA-AES256-SHA |
✓ | ✓ | ✓ | ||||
AES128-GCM-SHA256 |
✓ | ✓ | ✓ | ✓ | |||
AES128-SHA256 |
✓ | ✓ | ✓ | ✓ | |||
AES128-SHA |
✓ | ✓ | ✓ | ||||
AES256-GCM-SHA384 |
✓ | ✓ | ✓ | ✓ | |||
AES256-SHA256 |
✓ | ✓ | ✓ | ✓ | |||
AES256-SHA |
✓ | ✓ | ✓ |
若要使用檢視負載平衡器的安全性原則組態AWS CLI,請使用describe-ssl-policies命令。中的預設原則AWS CLI為ELBSecurityPolicy-2016-08
。若要使用升級至 TLS 1.3 安全性原則AWS CLI,請搭配建立接聽程式和修改接聽程式命令使用ssl-policy
參數。
FS 支援的政策
下表說明預設原則 ELBSecurityPolicy-2016-08
(預設在中AWS CLI) 和原ELBSecurityPolicy-FS
則。已從標頭列的政策名稱移除 ELBSecurityPolicy-
,使其相符。
安全政策 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|---|
TLS 通訊協定 | ||||||
Protocol-TLSv1 |
✓ | ✓ | ||||
Protocol-TLSv1.1 |
✓ | ✓ | ✓ | |||
Protocol-TLSv1.2 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
TLS 加密 | ||||||
ECDHE-ECDSA-AES128-GCM-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-RSA-AES128-GCM-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-ECDSA-AES128-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ | |
ECDHE-RSA-AES128-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ | |
ECDHE-ECDSA-AES128-SHA |
✓ | ✓ | ✓ | ✓ | ||
ECDHE-RSA-AES128-SHA |
✓ | ✓ | ✓ | ✓ | ||
ECDHE-ECDSA-AES256-GCM-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-RSA-AES256-GCM-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-ECDSA-AES256-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ | |
ECDHE-RSA-AES256-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ | |
ECDHE-RSA-AES256-SHA |
✓ | ✓ | ✓ | ✓ | ||
ECDHE-ECDSA-AES256-SHA |
✓ | ✓ | ✓ | ✓ | ||
AES128-GCM-SHA256 |
✓ | |||||
AES128-SHA256 |
✓ | |||||
AES128-SHA |
✓ | |||||
AES256-GCM-SHA384 |
✓ | |||||
AES256-SHA256 |
✓ | |||||
AES256-SHA |
✓ |
TLS 安全性原則
下表說明預設原則 ELBSecurityPolicy-2016-08
(預設在中AWS CLI) 和原ELBSecurityPolicy-TLS
則。已從標頭列的政策名稱移除 ELBSecurityPolicy-
,使其相符。
安全政策 |
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|
TLS 通訊協定 | |||||
Protocol-TLSv1 |
✓ | ✓ | |||
Protocol-TLSv1.1 |
✓ | ✓ | ✓ | ||
Protocol-TLSv1.2 |
✓ | ✓ | ✓ | ✓ | ✓ |
TLS 加密 | |||||
ECDHE-ECDSA-AES128-GCM-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-RSA-AES128-GCM-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-ECDSA-AES128-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-RSA-AES128-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-ECDSA-AES128-SHA |
✓ | ✓ | ✓ | ✓ | |
ECDHE-RSA-AES128-SHA |
✓ | ✓ | ✓ | ✓ | |
ECDHE-ECDSA-AES256-GCM-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-RSA-AES256-GCM-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-ECDSA-AES256-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-RSA-AES256-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ |
ECDHE-RSA-AES256-SHA |
✓ | ✓ | ✓ | ✓ | |
ECDHE-ECDSA-AES256-SHA |
✓ | ✓ | ✓ | ✓ | |
AES128-GCM-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ |
AES128-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ |
AES128-SHA |
✓ | ✓ | ✓ | ✓ | |
AES256-GCM-SHA384 |
✓ | ✓ | ✓ | ✓ | ✓ |
AES256-SHA256 |
✓ | ✓ | ✓ | ✓ | ✓ |
AES256-SHA |
✓ | ✓ | ✓ | ✓ | |
DES-CBC3-SHA |
✓ |
* 除非您必須支援需要 DES-CBC3-SHA 加密 (弱式加密) 的舊版用戶端,否則請勿使用此原則。
若要使用檢視應用程式負載平衡器的安全性原則組態AWS CLI,請使用命describe-ssl-policies令。
新增 HTTPS 接聽程式
您使用用戶端與負載平衡器間連線的通訊協定與連接埠來設定接聽程式,並為預設接聽程式規則設定目標群組。如需詳細資訊,請參閱接聽程式組態。
先決條件
-
若要建立 HTTPS 接聽程式,您必須指定憑證和安全政策。負載平衡器會使用憑證來終止連接,然後解密用來自戶端的請求,之後才將它們路由到目標。負載平衡器會在與用戶端交涉 SSL 連線時使用安全政策。
-
若要新增轉送動作到預設的接聽程式規則,您必須指定可用的目標群組。如需詳細資訊,請參閱建立目標群組。
-
您可以在多個監聽器中指定相同的目標群組,但這些監聽器必須屬於相同的負載平衡器。若要將目標群組與負載平衡器搭配使用,您必須確認任何其他負載平衡器的接聽程式未使用該群組。
使用 AWS CLI 新增 HTTPS 接聽程式
使用 create-listener 命令來建立接聽程式和預設規則,以及 create-rule 命令來定義額外的接聽程式規則。
更新 HTTPS 接聽程式
建立 HTTPS 接聽程式之後,您可以更換預設憑證、更新憑證清單或更換安全政策。如需詳細資訊,請參閱更新應用程式負載平衡器的 HTTPS 接聽程式。