全部产品
Search
文档中心

云数据库 RDS:使用自定义证书开启SSL链路加密

更新时间:Jul 30, 2026

RDS MySQL在配置SSL链路加密时,不仅支持使用阿里云数据库提供的云端证书,还支持使用自定义证书。本文介绍通过自定义证书配置SSL链路加密功能的具体操作。

前提条件

  • 已安装OpenSSL工具。

  • SSL加密功能要求RDS MySQL实例系列和版本如下:

    • 高可用系列:8.4、8.0、5.7、5.6

    • 集群系列:8.4、8.0、5.7

    • 基础系列:8.4、8.0、5.7

  • 强制SSL加密要求RDS MySQL实例版本如下:

    • 数据库大版本:8.4、8.0、5.7

    • 产品系列:基础系列、高可用系列和集群系列

    • 内核小版本大于等于20241130

说明
  • 使用Linux系统时,通常已经预装了OpenSSL工具,无需另外安装。

  • 使用Windows系统时,需要获取OpenSSL软件包并安装。

注意事项

  • 开启SSL链路加密后,会造成CPU使用率上升、读写时延增长。

  • 开启SSL链路加密后,已有连接需要断开重连,加密才会生效。

  • 配置、更改自定义证书内容或关闭SSL链路加密,将会重启您的数据库实例,耗时3分钟左右,请在业务低峰期操作。

  • 开启强制SSL加密后,客户端或数据库代理连接RDS MySQL时,只能选择SSL加密连接,非加密连接会被拒绝。

如何配置

步骤一:获取自定义证书

警告

生成服务器证书私钥或自签名证书私钥时,请勿使用密码加密,否则将无法启用SSL链路加密。

以CentOS系统配置为例,执行如下步骤:

说明

如果您的操作系统为Windows,操作步骤中的openssl命令与CentOS系统中的openssl命令配置相同,cp命令请替换为手动复制,vim命令请替换为手动编辑文件。

  1. 创建自签名证书(server-ca.crt)和自签名证书私钥(server-ca.key)。

    openssl req -new -x509 -days 365 -nodes -out server-ca.crt -keyout server-ca.key -subj "/CN=root-ca"
  2. 生成服务器证书请求文件(server.csr)和服务器证书私钥(server.key)。

    MySQL的自定义证书目前仅支持对一个连接地址进行保护。您可以根据需要选择配置生成服务器证书请求文件,请配置如下命令:

    openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=rm-bpxxxxx.mysql.rds.aliyuncs.com"
    说明

    rm-bpxxxxx.mysql.rds.aliyuncs.com仅用于举例,请修改为需要保护的链接地址,查看连接地址请参见查看和管理实例连接地址和端口。

    生成证书请求文件(server.csr)的过程中,会提示配置以下参数,请根据实际情况配置。

    参数

    说明

    示例

    Country Name

    ISO国家代码(两位字符)

    CN

    State or Province Name

    所在省份

    ZheJiang

    Locality Name

    所在城市

    HangZhou

    Organization Name

    公司名称

    Alibaba

    Organizational Unit Name

    部门名称

    Aliyun

    Common Name

    申请SSL证书的域名,在openssl.cnf文件中已配置,不需要输入

    -

    Email Address

    不需要输入

    -

    A challenge password

    不需要输入

    -

    An optional company name

    不需要输入

    -

  3. 生成服务器证书(server.crt)。

    • 如果您需要保护连接地址,请配置如下命令。

      openssl x509 -req -in server.csr -text -days 365 -CA server-ca.crt -CAkey server-ca.key -CAcreateserial  -out server.crt

完成以上步骤的配置后,执行ls命令,查看已生成的文件:

# ls
server-ca.crt  server-ca.key  ca.srl  server.crt  server.csr  server.key

关键文件解释如下:

  • server.crt:服务器证书文件。

  • server.key:服务器私钥文件。

  • server-ca.crt:自签名证书。

  • server-ca.key:自签名证书私钥。

步骤二:使用自定义证书开启SSL链路加密

说明

配置自定义证书后,实例的运行状态将会变更为修改SSL中,该状态将持续三分钟,请等待实例状态变更为运行中后再进行后续操作。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 进入数据安全性 > SSL页面。

  3. 切换证书来源为使用自定义证书,单击未开通前的开关,填写服务器证书、服务器证书私钥,选择是否开启强制加密后,单击确定,完成配置。

    参数

    取值

    服务器证书

    此参数填写步骤一:获取自定义证书步骤中获取的server.crt文件内容。请填写-----BEGIN CERTIFICATE-----至-----END CERTIFICATE-----间的内容,包括BEGIN和END部分。

    服务器证书私钥

    此参数填写步骤一:获取自定义证书步骤中获取的server.key文件内容。请填写-----BEGIN PRIVATE KEY-----至-----END PRIVATE KEY-----间的内容,包括BEGIN和END部分。

    是否开启强制加密

    根据需要,选择开启或关闭。

    • MySQL 8.4、8.0、5.7版本且内核小版本大于等于20241130的实例支持强制开启SSL。

    • 开启强制SSL加密后,客户端或数据库代理连接RDS MySQL时,只能使用SSL加密连接,非加密连接会被拒绝。

步骤三:客户端连接数据库

RDS MySQL数据库支持通过SSL远程连接,更多信息,请参见SSL连接RDS MySQL数据库。

步骤四:(可选)更新证书

说明

除MySQL 8.0外,其他版本更新证书会重启实例,请谨慎操作。

如果您需要更新证书,可以在SSL页面单击更新SSL按钮,填写新的服务器证书和私钥。

步骤五:(可选)关闭SSL链路加密

重要

关闭SSL加密会重启实例,请谨慎操作。

如果您需要关闭SSL链路加密,可以在SSL页面单击已开通前的按钮。

常见问题

Q:自定义证书过期了怎么办?

A:RDS MySQL自定义证书的期限为用户所自定义,系统会根据证书有效期时间,在到期前发送过期提醒的通知,请收到通知后及时进行证书的有效期更新,避免业务受到影响。