为您的 Application Load Balancer 创建 HTTPS 侦听器
侦听器是用于检查连接请求的进程。您可在创建负载均衡器时定义侦听器,并可随时向负载均衡器添加侦听器。
要创建 HTTPS 侦听器,您必须在负载均衡器上部署至少一个 SSL 服务器证书。负载均衡器先使用服务器证书终止前端连接,再解密来自客户端的请求,然后将请求发送到目标。您还必须指定一个安全策略,以用于协商客户端与负载均衡器之间的安全连接。
如果需要将加密流量传输至目标且负载均衡器不对其进行解密,则可以创建一个使用端口 443 上的 TCP 侦听器的网络负载均衡器或经典负载均衡器。通过 TCP 侦听器,负载均衡器将加密流量传递到目标,而不会对其进行解密。
应用程序负载均衡器不支持双向 TLS 身份验证(mTLS)。要获得 mTLS 支持,请创建一个使用网络负载均衡器或经典负载均衡器的 TCP 侦听器,并在目标上实施 mTLS。
应用程序负载均衡器不支持 ED25519 密钥。
此页面上的信息可帮助您为负载均衡器创建 HTTPS 侦听器。要向您的负载均衡器添加 HTTP 侦听器,请参阅 为您的 Application Load Balancer 创建 HTTP 侦听器。
SSL 证书
负载均衡器需要 X.509 证书(SSL/TLS 服务器证书)。证书是由证书颁发机构 (CA) 颁发的数字化身份。证书包含标识信息、有效期限、公有密钥、序列号以及发布者的数字签名。
在创建用于负载均衡器的证书时,您必须指定域名。
我们建议您使用 Amazon Certificate Manager (ACM)
此外,还可以使用 SSL/TLS 工具创建证书签名请求 (CSR),然后获取由 CA 签署的 CSR 以生成证书,并将证书导入 ,或将证书上传至 Amazon Identity and Access Management (IAM)。有关将证书导入 ACM 的信息,请参阅 Amazon Certificate Manager 用户指南中的将证书导入。有关将证书上传到 IAM 的更多信息,请参阅 IAM 用户指南中的使用服务器证书。
默认证书
创建 HTTPS 侦听器时,必须仅指定一个证书。此证书称为默认证书。创建 HTTPS 侦听器后,您可以替换默认证书。有关更多信息,请参阅 替换默认证书。
如果在证书列表中指定其他证书,则仅当客户端在不使用服务器名称指示 (SNI) 协议的情况下连接以指定主机名或证书列表中没有匹配的证书时,才使用默认证书。
如果您未指定其他证书但需要通过单一负载平衡器托管多个安全应用程序,则可以使用通配符证书或为证书的每个其他域添加使用者备用名称 (SAN)。
证书列表
创建 HTTPS 侦听器后,它具有默认证书和空证书列表。您可以选择将证书添加到侦听器的证书列表中。使用证书列表可使负载均衡器在同一端口上支持多个域,并为每个域提供不同的证书。有关更多信息,请参阅 将证书添加到证书列表。
负载均衡器使用支持 SNI 的智能证书选择算法。如果客户端提供的主机名与证书列表中的一个证书匹配,则负载均衡器将选择此证书。如果客户端提供的主机名与证书列表中的多个证书匹配,则负载均衡器将选择客户端可支持的最佳证书。根据以下标准,按下面的顺序选择证书:
-
公有密钥算法 (ECDSA 优先于 RSA)
-
哈希算法 (SHA 优先于 MD5)
-
密钥长度 (首选最大值)
-
有效期
负载均衡器访问日志条目指示客户端指定的主机名和向客户端提供的证书。有关更多信息,请参阅 访问日志条目。
证书续订
每个证书都有有效期限。您必须确保在有效期结束之前续订或替换负载均衡器的每个证书。这包括默认证书和证书列表中的证书。续订或替换证书不影响负载均衡器节点已收到的进行中的请求,并暂停指向正常运行的目标的路由。续订证书之后,新的请求将使用续订后的证书。更换证书之后,新的请求将使用新证书。
您可以按如下方式管理证书续订和替换:
安全策略
Elastic Load Balancing 使用一个安全套接字层 (SSL) 协商配置(称为安全策略)在客户端与负载均衡器之间协商 SSL 连接。安全策略是协议和密码的组合。协议在客户端与服务器之间建立安全连接,确保在客户端与负载均衡器之间传递的所有数据都是私密数据。密码是使用加密密钥创建编码消息的加密算法。协议使用多种密码对 Internet 上的数据进行加密。在 连接协商过程中,客户端和负载均衡器会按首选项顺序提供各自支持的密码和协议的列表。默认情况下,会为安全连接选择服务器列表中与任何一个客户端的密码匹配的第一个密码。
应用程序负载均衡器仅支持目标连接的 SSL 重新协商。
创建 HTTPS 侦听器时,您必须选择一个安全策略。可以根据需要更新安全策略。有关更多信息,请参阅 更新安全策略。
您可以选择用于前端连接的安全策略。对于后端连接,如果您的 HTTPS 侦听器使用的是 TLS 1.3 安全策略,则使用 ELBSecurityPolicy-TLS13-1-0-2021-06
安全策略。否则,ELBSecurityPolicy-2016-08
安全策略用于后端连接。Application Load Balancer 不支持自定义安全策略。
Elastic Load Balancing 为 Application Load Balancer 提供以下安全策略:
-
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
相同)
*对于 HTTPS 侦听器,我们建议使用 ELBSecurityPolicy-TLS13-1-2-2021-06
安全策略。这是使用 Amazon Web Services Management Console创建的侦听器的默认策略。此安全策略包括 TLS 1.3,它针对安全性和性能进行了优化,并向后兼容 TLS 1.2。
**ELBSecurityPolicy-2016-08
策略是使用 Amazon CLI 创建的侦听器的默认策略。
如果您需要向前保密(FS),请使用下列策略中的一种:
-
任何
ELBSecurityPolicy-FS
策略 -
ELBSecurityPolicy-TLS13-1-2-2021-06
-
ELBSecurityPolicy-TLS13-1-3-2021-06
-
ELBSecurityPolicy-TLS13-1-2-Res-2021-06
您可以使用 ELBSecurityPolicy-TLS
策略之一,以满足需要禁用特定 TLS 协议版本的合规性和安全标准,或者支持需要已弃用密码的旧客户端。只有一小部分 Internet 客户端需要 TLS 版本 1.0。要查看针对负载均衡器的请求的 TLS 协议版本,请为负载均衡器启用访问日志记录并查看访问日志。有关更多信息,请参阅访问日志。
TLS 1.3 安全策略
下表列出了建议的策略 (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 |
✓ | ✓ | ✓ |
要使用 Amazon CLI 查看负载均衡器的安全策略的配置,请使用 describe-ssl-policies 命令。Amazon CLI 中的默认策略是 ELBSecurityPolicy-2016-08
。要使用 Amazon CLI 升级到 TLS 1.3 安全策略,可结合使用 ssl-policy
参数与 create-listener 和 modify-listener 命令。
FS 支持的策略
下表描述了默认策略 ELBSecurityPolicy-2016-08
(Amazon 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
(Amazon 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 密码(这是一种弱密码)的旧客户端,否则请勿使用此策略。
要使用 Amazon CLI 查看 Application Load Balancer 的安全策略的配置,请使用 describe-ssl-policies 命令。
添加 HTTPS 侦听器
您为侦听器配置用于从客户端连接到负载均衡器的协议和端口,并为默认侦听器规则配置目标组。有关更多信息,请参阅侦听器配置。
先决条件
-
要创建 HTTPS 侦听器,您必须指定证书和安全策略。负载均衡器先使用证书终止连接,然后解密来自客户端的请求,最后再将请求路由到目标。负载均衡器在协商与客户端的 SSL 连接时会使用安全策略。
-
要将转发操作添加到默认侦听器规则,您必须指定可用的目标组。有关更多信息,请参阅创建目标组。
-
您可以在多个侦听器中指定同一个目标组,但这些侦听器必须属于同一个负载均衡器。要将目标组与负载均衡器结合使用,您必须确认其没有被任何其他负载均衡器的侦听器使用。
使用控制台添加 HTTPS 侦听器
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择负载均衡器。
-
选择负载均衡器。
-
在 Listeners(侦听器)选项卡上,选择 Add listener(添加侦听器)。
-
对于协议:端口,选择 HTTPS 并保留默认端口或者输入其他端口。
-
(可选)要验证用户的身份,对于 Default actions (默认操作),选择 Add action (添加操作)、Authenticate (身份验证) 并提供请求的信息。有关更多信息,请参阅使用 Application Load Balancer 验证用户身份。
-
对于 Default actions (默认操作),请执行下列操作之一:
-
对于 Security policy,我们建议保留默认安全策略。
-
对于默认 SSL/TLS 证书,请执行以下操作之一:
-
如果使用 Amazon Certificate Manager 创建或导入了证书,请选择来自 ACM 并选择证书。
-
如果使用 IAM 上传了证书,则选择从 IAM 并选择证书。
-
-
选择 Add(添加)。
-
(可选) 要定义基于路径模式或主机名转发请求的其他侦听器规则,请参阅添加规则。
-
(可选)要添加用于 SNI 协议的证书列表,请参阅 将证书添加到证书列表。
使用 Amazon CLI 添加 HTTPS 侦听器
使用 create-listener 命令可创建侦听器和默认规则,使用 create-rule 命令可定义更多侦听器规则。
更新 HTTPS 侦听器
创建 HTTPS 侦听器后,您可以替换默认证书、更新证书列表或替换安全策略。有关更多信息,请参阅 为您的 Application Load Balancer 更新 HTTPS 侦听器。