文档首页/ 弹性负载均衡 ELB/ 最佳实践/ 基础功能/ 通过独享型ELB实现TLS卸载(双向认证)
更新时间:2025-08-28 GMT+08:00

通过独享型ELB实现TLS卸载(双向认证)

应用场景

如果您的四层业务对安全性要求极高,您可以通过TLS双向认证对通信双方进行认证进一步提高业务的安全性。

前提条件

  • 已创建协议类型为TLS协议的后端服务器组,服务器组中添加了ECS01和ECS02实例,并且在其中部署了应用服务。

操作步骤

图1 配置TLS卸载双向认证操作流程

步骤一:上传服务器证书到ELB控制台

在ELB添加TLS监听器前,您需要将您的证书上传到将ELB控制台。

  1. 进入弹性负载均衡列表页面
  2. 在左侧导航栏单击“证书管理”。
  3. 单击“创建证书”,配置参数请参见表1
    表1 服务器证书参数说明

    参数

    说明

    证书类型

    创建证书的类型,本文选择服务器证书。

    证书来源

    服务器证书同时支持SSL证书管理服务提供的数字证书和您的自有证书。

    本文选择“SSL证书管理”以同步您在华为云云证书管理服务已经购买的SSL证书。

    证书

    选择您需要上传到ELB控制台的证书。

    企业项目

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。

    SNI扩展域名(可选)

    将自动同步SSL证书已绑定的所有域名。

    当您的证书用于配置SNI证书时,将支持根据客户端HTTPS请求的域名来选择对应的SNI证书完成认证。

    描述

    添加对该证书的描述信息,非必填项。

  4. 单击“确定”,完成创建。

步骤二:上传CA证书到ELB控制台

在ELB添加TLS监听器前,您需要将您的CA证书上传到将ELB控制台。

  1. 进入弹性负载均衡列表页面
  2. 在左侧导航栏单击“证书管理”。
  3. 单击“创建证书”,配置参数请参见表2
    表2 CA证书参数说明

    参数

    说明

    证书类型

    创建证书的类型,本文选择CA证书。

    证书名称

    您的CA证书名称。

    企业项目

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。

    证书内容

    证书内容必须为PEM格式。

    单击“上传”,上传您本地的CA证书文件,请确保您的浏览器是最新版本。

    证书内容格式如下:

    -----BEGIN CERTIFICATE-----
    Base64–encoded certificate
    -----END CERTIFICATE-----

    描述

    添加对该证书的描述信息,非必填项。

  4. 单击“确定”,完成创建。

步骤三:添加TLS监听器并配置双向认证

  1. 进入弹性负载均衡列表页面
  2. 在目标弹性负载均衡实例的操作列,单击“添加监听器”。
  3. 在添加监听器页面,协议类型选择“TLS”,“SSL解析方式”选择“双向认证”,

    在服务器证书的配置项中选择步骤一中上传到ELB控制台的服务器证书。

    在CA证书的配置项中选择步骤二中上传到ELB控制台的服务器证书。

    图2 添加HTTPS监听器并配置双向认证
  4. 单击“下一步:配置后端分配策略”,后端服务器组参数选择“使用已经”。选择已经创建完成的服务器组,完成后单击“下一步:确认配置”。
  5. 确认配置参数后,单击“提交”,完成TLS监听器的创建。

步骤四:配置域名解析

通过为域名添加A类型记录集解析,将域名解析到ELB的公网地址,使得客户端可以通过公网域名访问ELB。

更多关于A类型记录集的配置指导,请参考配置网站解析

  1. 进入云解析服务控制台
  2. 在左侧树状导航栏,选择“公网域名”。

    进入域名列表页面。

  3. 在待添加记录集的公网域名所在行,单击操作列的“管理解析”。
  4. 单击“添加记录集”,进入“添加记录集”页面。
  5. 设置记录集参数,如表3所示。
    表3 A类型记录集参数说明

    参数

    示例

    说明

    记录类型

    A – 将域名指向IPv4地址

    记录集的类型,本实践为A – 将域名指向IPv4地址

    主机记录

    www

    您域名的前缀。

    线路类型

    全网默认

    解析的线路类型用于DNS服务器在解析域名时,根据访问者的来源,返回对应的服务器IP地址。

    默认值为“全网默认”。

    全网默认:默认线路类型,当未根据访问者来源设置解析线路时,系统会返回默认解析结果。

    TTL(秒)

    300

    解析记录在本地DNS服务器的缓存时间,以秒为单位。

    本实践使用默认值300秒。

    记录值

    192.168.12.2

    192.168.12.3

    域名对应的IPv4地址,本实践为ELB绑定的弹性公网IP地址。

    高级配置(可选)

    -

    您可以单击,展开折叠的高级配置区域,设置记录集的别名和权重并添加标签和描述,本文保持默认设置。

  6. 单击“确定”。
  7. 返回“解析记录”页面。

    添加完成后,您可以在域名对应的记录集列表中查看已添加的记录集。当记录集的状态显示为“正常”时,表示记录集添加成功。

步骤五:验证TLS双向认证

您可以参考以下方案对TLS双向认证进行验证。

  1. 在浏览器中输入ELB实例绑定的域名,例如https://www.elbtest.com,在弹出的对话框中选择用于客户端验证您本人身份的证书并单击“确定”。
    图3 选择用户客户端验证您身份的证书
  2. 由于浏览器缓存的影响,客户端请求可能复用TLS会话,建议您采用无痕模式的浏览器访问域名进行验证。多次刷新页面,可以观察到请求分发至了两台ECS。
    图4 请求转发到ECS01
    图5 请求转发到ECS02

登录您的Linux客户端,执行以下命令验证TLS双向认证过程。

curl -k --cert /root/client.crt --key /root/client.key https://www.elbtest.com

其中,--cert /root/client.crt指定了客户端证书文件的位置,--key /root/client.key指定与客户端证书关联的私钥位置。

如果可以收到以下的报文,表示客户端与服务器端之间完成了TLS双向认证并将请求分发到了两台ECS。

图6 验证TLS双向认证(Linux)

相关文档