本文介绍如何在 ALB 控制台中为 HTTPS 监听器配置扩展证书。“扩展证书”功能适用于同一台服务器上部署了多个站点且不同站点关联不同证书的场景。
背景信息
SNI 概述
服务器名称指示(Server Name Indication,简称 SNI) 是 TLS 协议的一个扩展。在同一台服务器上部署了多个站点且不同站点关联不同证书的场景下,SNI 解决了以下问题:
- 在客户端使用 HTTPS 协议与服务器建立连接时,服务器无法知道该发送给客户端哪个站点的证书。
如果客户端使用 HTTP 协议连接服务器,服务器通过客户端请求中的 Host 头部判断客户端需要访问的站点。但是如果客户端使用 HTTPS 协议连接服务器,在数据传输前会有一个 TLS 握手的过程。在该过程中,客户端还未传递 Host 头部给服务器,因此服务器无法判断需要发送给客户端的证书。该情况下,客户端可以使用 SNI 扩展告知服务器需要访问的站点。这样服务器就能在 TLS 握手阶段发送相应的证书给客户端。
ALB 对 SNI 的支持
ALB 支持 SNI。当监听器接收到客户端发送的包含 SNI 扩展的消息时,监听器可以将目标域名对应的证书发送给客户端。但是,为了实现上述功能,您首先需要在监听器上配置目标域名的证书,即配置“扩展证书”。一个 HTTPS 监听器最多可以配置 20 个扩展证书。
扩展证书智能优选
标准版 ALB 实例支持“扩展证书智能优选”功能。您只需指定扩展证书即可。在接收到客户端请求时,ALB 会根据请求的域名来智能选择匹配的证书。详细流程,请参见证书匹配。
前提条件
您已经创建了一个 HTTPS 监听器。
操作步骤
- 登录应用型负载均衡控制台。
- 在 实例管理 页面,找到需要配置的 ALB 实例,单击 操作 列的 配置监听器。
- 在 监听器 页签,找到需要配置扩展证书的 HTTPS 监听器,单击 操作 列的 更多 图标,然后选择 扩展证书。

- 在 扩展证书 页面,单击右上角的 编辑。
- 在 编辑扩展证书 页面,单击 扩展证书 右侧的添加证书。
- 选择证书来源。标准版 ALB 实例只能使用证书中心的证书。
- 选择证书。从证书下拉列表中选择一个证书。
您可以继续单击添加证书来添加更多证书。
- 添加证书后,单击 确定。
相关信息
证书来源
标准版 ALB 仅支持以下来源的证书:证书中心的证书。
使用证书中心的证书,您需要:
使用证书中心证书的详细说明,请参考ALB 使用证书中心的证书。
证书匹配
相关概念
在了解证书匹配流程前,请先了解以下概念:
- 精确域名
精确域名是指符合域名规范的具体域名。该域名是唯一的,用于准确地定位到特定的网站或服务器资源。例如, www.example.com 是一个精确域名。该域名不包含任何通配符,指向一个特定的网站。 - 泛域名
泛域名是指使用通配符(*) ** 来代表一个或多个字符的域名。一个泛域名可以匹配多个域名。但是,一个泛域名只能匹配与其处于相同级别的域名,不能匹配比其级别更高或更低的域名。
例如,泛域名 *.example.com 可以匹配与其处于相同级别的域名如 mail.example.com、blog.example.com、product1.example.com,但是无法匹配与其处于不同级别的域名如 example.com 和 a.mail.example.com。 - 精确匹配
精确匹配是指请求中的域名与证书关联的精确域名完全匹配。例如,请求的域名是 www.example.com,证书关联的精确域名中包含 www.example.com,则精确匹配成功。 - 泛域名匹配
泛域名匹配是指请求中的域名与证书关联的泛域名匹配。例如,请求的域名是 www.example.com,证书关联的域名中包含“*.example.com”,则泛域名匹配成功。 - 默认证书
在您配置扩展证书时,编辑扩展证书 页面上会展示一个默认证书。该证书默认为您在创建监听器时选择的证书。当客户端请求的域名无法匹配到任一扩展证书时,监听器将默认证书返回给客户端。
证书匹配流程
监听器支持精确匹配和泛域名匹配。精确匹配的优先级高于泛域名匹配。在接收到一个客户端请求时,监听器会按照以下流程将请求的域名与证书关联的域名进行匹配,并返回对应的证书:
- 将请求的域名与证书关联的精确域名进行匹配。
- 如果精确匹配成功,监听器返回精确域名的证书给客户端。
- 如果精确匹配失败,监听器会尝试泛域名匹配(进入步骤 2)。
- 将请求的域名与证书关联的泛域名进行匹配。
- 如果泛域名匹配成功,监听器返回泛域名的证书给客户端。
- 如果泛域名匹配失败,监听器将默认证书返回给客户端。
说明
如果一个域名可以同时匹配到多本证书,监听器按照以下优先级判断应返回哪本证书:
- 证书类型
ECC 证书优先级高于 RSA 证书。如果既有 ECC 证书又有 RSA 证书,那么监听器优先返回 ECC 证书。 - 剩余有效时间
如果证书类型相同,那么监听器返回剩余有效时间最长的那本证书。
证书匹配示例
假设监听器关联了 2 本扩展证书:cert-1 和 cert-2。cert-1 证书关联的域名为 *.example.com,cert-2 关联的域名为 www.example.com。
请求的域名 | 匹配到的证书 | 监听器动作 |
---|
www.example.com | cert-2 | 将 cert-2 返回给客户端 |
a.example.com | cert-1 | 将 cert-1 返回给客户端 |
a.b.example.com | 无 | 将默认证书返回给客户端 |
example.com | 无 | 将默认证书返回给客户端 |