Elastic Load Balancing
应用程序负载均衡器
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Application Load Balancer 的 HTTPS 侦听器

您可以创建使用加密连接的侦听器 (也称为 SSL 卸载)。此功能支持在您的负载均衡器与启动 SSL 或 TLS 会话的客户端之间进行流量加密。

要使用 HTTPS 侦听器,您必须在负载均衡器上部署 SSL/TLS 服务器证书。负载均衡器先使用此证书终止连接,然后解密来自客户端的请求并将请求发送到目标。

Elastic Load Balancing 使用安全套接字层 (SSL) 协商配置 (称为安全策略) 在客户端与负载均衡器之间协商 SSL 连接。安全策略是协议和密码的组合。 协议在客户端与服务器之间建立安全连接,确保在客户端与负载均衡器之间传递的所有数据都是私密数据。密码是使用加密密钥创建编码消息的加密算法。协议使用多种密码对 Internet 上的数据进行加密。在 连接协商过程中,客户端和负载均衡器会按首选项顺序提供各自支持的密码和协议的列表。默认情况下,会为安全连接选择服务器列表中与任何一个客户端的密码匹配的第一个密码。

SSL 证书

负载均衡器使用 X.509 证书 (SSL/TLS 服务器证书)。证书是由证书颁发机构 (CA) 颁发的数字化身份。证书包含标识信息、有效期限、公有密钥、序列号以及发布者的数字签名。

我们建议您使用 AWS Certificate Manager (ACM) 为您的负载均衡器创建证书。ACM 与 Elastic Load Balancing 集成,以便您可以在负载均衡器上部署证书。有关更多信息,请参阅 AWS Certificate Manager 用户指南

此外,还可以使用 SSL/TLS 工具创建证书签名请求 (CSR),然后由 CA 签署此 CSR 以生成证书,并将证书导入 ACM,或将证书上传至 AWS Identity and Access Management (IAM)。有关将证书导入 ACM 中的更多信息,请参阅 AWS Certificate Manager 用户指南 中的导入证书。有关将证书上传到 IAM 的更多信息,请参阅IAM 用户指南中的使用服务器证书

在创建安全侦听器时,您需要指定默认证书。您可以通过添加更多证书来为侦听器创建可选证书列表。这使负载均衡器能够在同一端口上支持多个域并为每个域提供一个不同的证书。有关更多信息,请参阅 更新服务器证书

客户端可以使用服务器名称标识 (SNI) 协议扩展来指定其尝试连接的主机名。如果该主机名与证书不匹配,则负载均衡器将选择默认证书。如果该主机名与一个证书匹配,则负载均衡器将选择此证书。如果客户端提供的主机名与多个证书匹配,则负载均衡器将选择客户端可支持的最佳证书。根据以下标准,按下面的顺序选择证书:

  • 公有密钥算法 (ECDSA 优先于 RSA)

  • 哈希算法 (SHA 优先于 MD5)

  • 密钥长度 (首选最大值)

  • 有效期

负载均衡器访问日志条目指示客户端指定的主机名和向客户端提供的证书。有关更多信息,请参阅 访问日志条目

安全策略

您可以选择用于前端连接的安全策略。ELBSecurityPolicy-2016-08 安全策略始终用于后端连接。应用程序负载均衡器 不支持自定义安全策略。

Elastic Load Balancing 提供针对 应用程序负载均衡器 的以下安全策略:

  • ELBSecurityPolicy-2016-08

  • ELBSecurityPolicy-TLS-1-2-2017-01

  • ELBSecurityPolicy-TLS-1-1-2017-01

  • ELBSecurityPolicy-2015-05

  • ELBSecurityPolicy-TLS-1-0-2015-04

建议将 ELBSecurityPolicy-2016-08 策略用于一般用途。您可以使用 ELBSecurityPolicy-TLS 策略之一,以满足需要禁用特定 TLS 协议版本的合规性和安全标准,或者支持需要已弃用密码的旧客户端。请注意,只有一小部分 Internet 客户端需要 TLS 版本 1.0。要查看针对负载均衡器的请求的 TLS 协议版本,请为负载均衡器启用访问日志记录并查看访问日志。有关更多信息,请参阅访问日志

下表描述了针对 应用程序负载均衡器 定义的安全策略。

安全策略 2016-08 * TLS-1-1-2017-01 TLS-1-2-2017-01 TLS-1-0-2015-04 †
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

* 针对 应用程序负载均衡器 的 ELBSecurityPolicy-2016-08ELBSecurityPolicy-2015-05 安全策略是相同的。

† 除非您必须支持需要 DES-CBC3-SHA 密码 (这是一种弱密码) 的旧客户端,否则不要使用此安全策略。

要查看使用 AWS CLI 的针对 应用程序负载均衡器 的安全策略的配置,请使用 describe-ssl-policies 命令。

更新安全策略

在创建 HTTPS 侦听器时,您可以选择满足您的需求的安全策略。添加新的安全策略后,您可以将 HTTPS 侦听器更新为使用此新安全策略。请注意,应用程序负载均衡器 不支持自定义安全策略。

使用控制台更新安全策略

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Load Balancers

  3. 选择负载均衡器。

  4. Listeners 选项卡上,对于 HTTPS 侦听器,选择 Edit

  5. 对于 Select Security Policy,选择安全策略。

  6. 选择 Save

使用 AWS CLI 更新安全策略

使用 modify-listener 命令。