tencent cloud

负载均衡

动态与公告
产品动态
产品公告
产品简介
产品概述
产品优势
使用场景
技术原理
产品对比
使用约束
Service Regions and Service Providers
购买指南
计费概述
计费项
CLB 资源包
购买方式
欠费说明
产品属性选择
快速入门
域名化负载均衡快速入门
负载均衡快速入门
IPv6 负载均衡快速入门
CentOS 下部署 Nginx
CentOS 下部署 Java Web
操作指南
负载均衡实例
负载均衡监听器
后端服务器
健康检查
证书管理
日志管理
监控告警
访问管理
传统型负载均衡
实践教程
部署证书到负载均衡(双向认证)
负载均衡开启 Gzip 配置及检测方法说明
HTTPS 转发配置入门指南
如何获取客户端真实 IP
负载均衡配置监控告警最佳实践
产品高可用说明
均衡算法选择与权重配置示例
配置 WAF 对负载均衡的监听域名进行 Web 安全防护
配置 IAP 对负载均衡的域名和路径的web访问进行身份验证
配置 IAP 对负载均衡的域名和路径的程序化访问进行身份验证
运维指南
客户端 timewait 过多解决方案
负载均衡HTTPS服务性能测试
压力测试常见问题
CLB 证书操作权限问题
故障处理
UDP 健康检查出现异常
API 文档
History
Introduction
API Category
Instance APIs
Listener APIs
Backend Service APIs
Target Group APIs
Redirection APIs
Other APIs
Classic CLB APIs
Load Balancing APIs
Making API Requests
Data Types
Error Codes
CLB API 2017
常见问题
计费相关
负载均衡配置相关
健康检查异常排查
HTTPS 相关
WS/WSS 协议支持相关
HTTP/2 协议支持相关
默认域名阻断提示
服务等级协议
联系我们
词汇表
文档负载均衡实践教程部署证书到负载均衡(双向认证)

部署证书到负载均衡(双向认证)

PDF
聚焦模式
字号
最后更新时间: 2025-06-25 16:37:00

操作场景

在传统的单向认证里,客户端仅验证服务器的身份,对于一些安全性要求较高的场景,单向认证无法满足安全需求。双向认证则要求客户端和服务器双方都验证对方身份,这增强了通信的安全性,能有效防止中间人攻击、身份伪造和数据泄露。关于单向认证与双向认证的说明您可以参考 单向认证和双向认证说明

前提条件

1. 您已经创建负载均衡 CLB 实例,具体操作请参考 创建负载均衡实例
2. 如需域名访问,请确认您拥有域名并配置负载均衡转发域名,具体操作请参考 配置负载均衡的转发域名
3. 您已创建2台 CVM 实例 rs-1与 rs-2,作为 CLB 实例的后端服务器,具体操作请参考 后端服务器

配置步骤

下面以自签证书为例,具体流程如图所示,介绍如何配置 HTTPS 双向认证负载均衡。

1. CA 证书:即证书颁发机构证书,您可以用于签发服务器证书或客户端证书。
2. 服务器证书:您可以通过购买或自签方式获取服务器证书。
3. 客户端证书:您可以使用所获取的 CA 证书签发客户端证书。
4. 上传证书:您需要上传 CA 证书到证书平台,并上传所购买或自签的服务器证书。
5. 负载均衡配置:您在配置 HTTPS 监听器时应开启双向认证,服务器证书选择所上传的证书,CA 证书选择自签根证书。
6. 导入客户端证书:您需要在客户端导入请求时所使用的客户端证书。

步骤1:获取 CA 证书

1. 执行以下命令, 创建 CA 证书的私钥文件 ca.key。
# 生成 CA 私钥
openssl genrsa -out ca.key 2048
2. 执行以下命令, 创建 CA 证书的请求文件 ca.csr。
# 生成 CA 证书请求文件
openssl req -new -key ca.key -out ca.csr
注意:
请自行填写以下参数,并保证其 Common Name 与服务器证书或者客户端证书的 Common Name 不相同。

3. 执行以下命令, 创建自签名的 CA 证书 ca.crt。
# 自签名生成 CA 证书,有效期为 3650 天
openssl x509 -req -in ca.csr -out ca.crt -signkey ca.key -days 3650
运行成功如下图:


步骤2:获取服务器证书

1. 执行以下命令, 创建服务器证书的私钥文件 server.key。
# 生成服务器私钥
openssl genrsa -out server.key 2048
2. 执行以下命令, 创建服务器证书的请求文件 server.csr。
# 生成服务器证书请求文件
openssl req -new -key server.key -out server.csr
3. 执行以下命令, 使用 CA 证书签发服务器证书 server.crt。
# 使用 CA 证书签名生成服务器证书,有效期为 365 天
openssl x509 -req -in server.csr -out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650

步骤3:获取客户端证书

1. 执行以下命令, 创建客户端证书的私钥文件 client.key。
# 生成客户端私钥
openssl genrsa -out client.key 2048
2. 执行以下命令, 创建客户端证书的请求文件 client.csr。
# 生成客户端证书请求文件
openssl req -new -key client.key -out client.csr
3. 执行以下命令, 使用 CA 证书签发客户端证书 client.crt。
# 使用 CA 证书签名生成客户端证书,有效期为 365 天
openssl x509 -req -in client.csr -out client.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
4. 执行以下命令,将所生成客户端证书 client.crt 转换为浏览器可识别的 p12格式文件。
# 客户端证书格式转换
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

步骤4:上传 CA 证书

2. 单击证书管理 ,再单击新建

3. 在上传证书页面,证书类型选择 CA 证书,把 步骤1 创建的 CA 证书 ca.crt 的内容复制到签名证书区域,单击确定
注意:
复制内容时请将最后的换行符删除,避免报错。


步骤5:上传服务器证书

2. 单击证书管理 ,再单击新建
3. 在上传证书页面,证书类型选择服务器证书,把 步骤2 生成的服务器证书 server.crt 和服务器私钥 server.key 的内容复制到签名证书区域,单击确定


步骤6:配置 HTTPS 双向认证监听

方式一:不启用 SNI

1. 登录 负载均衡控制台;在实例页面,找到目标 CLB 实例,单击实例 ID;在监听器管理页,单击新建

2. 在配置界面,监听协议选择 HTTPS,并填写指定端口;不启用 SNI 选择双向认证方式;并上传已获取服务器证书与 CA 证书;确认配置信息,然后单击提交

3. 点击加号创建转发规则填写负载均衡器域名及URL路径选择均衡方式与后端协议完成基本配置。

说明:
当选用 HTTPS 监听协议时,客户端到负载均衡访问使用 HTTPS;而负载均衡到后端服务器之间转发协议,可选择 HTTP 或 HTTPS。
4. 配置健康检查端口,并根据选择配置会话保持。
5. 展开规则,单击绑定,选择所创建的两个后端 rs-1、rs-2。

方式二:启用 SNI

1. 在配置界面,监听协议选择 HTTPS,并填写指定端口;启用 SNI 然后单击提交

2. 点击加号创建转发规则,填写负载均衡器域名及 URL 路径,选择均衡方式与后端协议完成基本配置;填写该域名所对应的服务器证书以及自签的 CA 证书。

3. 后续步骤与 不启用SNI 配置方式相同,SNI 具体说明您可参考 CLB 支持 SNI 多域名证书

步骤7:导入客户端证书

方式一:浏览器方式

1. 将所签发的客户端证书 client.p12下载导入本地。
2. 双击客户端证书,根据证书导入向导完成客户端证书安装。

方式二:命令行方式

1. 把客户端证书 client.crt 和客户端私钥文件 client.key 拷贝到新目录。
2. 使用指定目录的客户端文件运行命令行验证。

步骤8:验证双向认证

方式一:浏览器方式

1. 在浏览器输入负载均衡绑定域名,未绑定域名可访问 IP 端口,访问时请选择已导入客户端证书。

2. 可刷新浏览器,观察到客户端的请求在 rs-1和 rs-2服务器之间的转换,说明验证成功。



方式二:命令行方式

1. 在 shell 界面,输入以下命令,并确认证书地址和密钥地址,以及所访问的负载均衡器地址。
curl --cert client.crt --key client.key --cacert ca.crt https://xxx.xxx.xxx
2. 输出对应正确响应码,说明验证成功。




帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈