更新时间:2024-10-30 GMT+08:00

通过SSL方式连接实例

GeminiDB Redis支持选用SSL方式通过Redis-cli客户端连接实例,实现了数据加密功能,具有更高的安全性。本章介绍使用SSL方式连接GeminiDB Redis实例的方法。

使用须知

  • 目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。
  • 弹性云服务器必须处于目标实例所属安全组允许访问的范围内,详情请参见配置节点安全组规则
  • 开启SSL安全连接后,外部应用需要使用SSL证书并通过SSL的方式访问GeminiDB Redis实例。
  • 使用SSL方式时需要确保所使用的Redis客户端具有SSL的连接能力,例如:Redis-cli 6.x版本。

前提条件

创建弹性云服务器,以Linux操作系统为例。详情请参见《弹性云服务器快速入门》中购买弹性云服务器的内容。

操作步骤

  1. 登录弹性云服务器,详情请参见《弹性云服务器快速入门》中登录弹性云服务器的内容。
  2. 获取Redis客户端。

    方法一:

    通过如下命令,下载Redis客户端。

    wget https://download.redis.io/releases/redis-6.2.6.tar.gz

    方法二:

    下载Redis客户端,并将Redis客户端安装包上传到弹性云服务器。

  3. 获取SSL安全证书。

    单击目标实例名称,进入基本信息页面,在连接信息 > SSL处单击下载按钮,获取SSL证书。

    图1 获取SSL证书

  4. 将SSL证书上传到弹性云服务器
  5. 通过如下命令查看ECS操作系统支持的openssl版本。

    openssl version
    • GeminiDB Redis提供的SSL功能只支持TLS1.3及以上的协议,不支持TLS1.0、TLS1.1、TLS1.2。
    • 为了确保redis-cli支持TLS1.3及以上的协议,需要ECS的操作系统环境中的openssl版本高于或等于1.1.1。
    • 如果操作系统版本低于1.1.1,则需要按照如下步骤安装openssl。
      wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz
      tar -zxvf openssl-1.1.1m.tar.gz
      cd openssl-1.1.1m/
      ./config --prefix=/usr/local/openssl-1.1.1m_install_dir
      make
      make install

      待上述新版本的openssl安装成功后,继续执行8

    • 如果操作系统版本高于或等于1.1.1,则继续执行6

  6. 解压客户端工具包。

    tar -xzf redis-6.2.6.tar.gz

  7. 在“src”目录下,连接数据库实例

    • 当ECS操作系统中的openssl版本低于1.1.1,并且按照5安装了符合要求的openssl版本时,您可以通过如下方式连接数据库实例。
      cd redis-6.2.6
      make BUILD_TLS=yes OPENSSL_PREFIX=/usr/local/openssl-1.1.1m_install_dir
      cd src
      LD_PRELOAD=/usr/local/openssl-1.1.1m_install_dir/lib/libssl.so.1.1:/usr/local/openssl-1.1.1m_install_dir/lib/libcrypto.so.1.1 ./redis-cli -h <DB_HOST> -p <DB_PORT> -a <DB_PWD> --tls --cacert <CACERT_PATH>

      示例:

      LD_PRELOAD=/usr/local/openssl-1.1.1m_install_dir/lib/libssl.so.1.1:/usr/local/openssl-1.1.1m_install_dir/lib/libcrypto.so.1.1 ./redis-cli -h 192.168.0.208 -p 8635 -a <DB_PWD> --tls --cacert ./cacert.crt
    • 当ECS操作系统中的openssl版本高于或等于1.1.1时,您可以通过如下方式连接数据库实例。
      cd redis-6.2.6
      make BUILD_TLS=yes
      cd src
      ./redis-cli -h <DB_HOST> -p <DB_PORT> -a <DB_PWD> --tls --cacert <CACERT_PATH>

      示例:

      ./redis-cli -h 192.168.0.208 -p 8635 -a <DB_PWD> --tls --cacert ./cacert.crt
    表1 参数说明

    参数

    说明

    <DB_HOST>

    待连接实例的内网IP。

    您可以在“实例管理”页面,单击实例名称,进入“基本信息”页面,在节点信息列表中获取“内网IP”。

    如果您购买的实例有多个节点,选择其中任意一个节点的内网IP即可连接GeminiDB Redis实例。

    <DB_PORT>

    待连接实例的端口,具体请以实际端口为准。

    获取实例端口的方法如下:

    在“实例管理”页面,单击实例名称,进入“基本信息”页面,在网络信息 > 数据库端口处获取当前实例的端口信息。

    <DB_PWD>

    购买GeminiDB Redis实例时设置的管理员密码。

    <CACERT_PATH>

    SSL证书的路径。

  8. 出现如下信息,说明连接成功。

    IP:port>