传输层安全性 (TLS)

启用 TLS 以加密应用程序和 Redis 数据库之间的数据通信。

Redis 云

传输层安全性 (TLS) 使用加密来保护网络通信

付费的 Redis Cloud Essentials 计划和 Redis Cloud Pro 计划可以使用 TLS 来加密应用程序和 Redis 数据库之间的数据通信。

注意:
TLS 不适用于免费的 Redis Cloud Essentials 计划。

将 TLS 与 Redis Cloud 结合使用

默认情况下,TLS 未启用。

TLS 建议

由于 TLS 对性能有影响,因此您需要确定 TLS 的安全优势是否值得对性能产生影响。TLS 建议取决于订阅计划以及客户端是使用公有终端节点还是私有终端节点连接到您的数据库。

下表显示了 TLS 建议:

订阅 公共终端节点 专用终端节点
Redis Cloud Essentials 启用 TLS 不适用
Redis Cloud Pro 启用 TLS 如果安全性大于性能影响,则启用 TLS

客户端身份验证

启用 TLS 时,您可以选择要求客户端身份验证(也称为“相互身份验证”)。如果启用,则所有客户端在连接到数据库时都必须提供有效的客户端证书。

Redis Cloud 不需要客户端身份验证;但是,强烈建议这样做。

启用 TLS

要为 Redis Cloud 数据库启用 TLS,请执行以下作:

  1. Redis Cloud 控制台菜单中选择 Databases,然后从列表中选择您的数据库。

  2. 从数据库的 Configuration 屏幕中,选择 Edit

    的 Edit database 按钮允许您更改选定的数据库属性。
  3. Security (安全) 部分中,使用 Transport layer security (TLS) (传输层安全性 (TLS) ) 切换开关启用 TLS:

    使用 Transport Layer Security (传输层安全性) 开关启用 TLS。
  4. 选择 Download server certificate (下载服务器证书) 按钮以下载 Redis Cloud 证书捆绑包redis_ca.pem:

    使用 Download server certificate(下载服务器证书)按钮下载 Redis Cloud CA 证书。
  5. 确定是否要要求客户端身份验证:

    • 如果您只希望提供有效证书的客户端能够连接,请继续执行下一步。

    • 如果您不想要求客户端身份验证,请跳至最后一步以应用更改。

  6. 要要求客户端身份验证,请选中 Mutual TLS (require client authentication) 复选框。

  7. 选择 Add client certificate (添加客户端证书) 以添加证书。

    Add client certificate (添加客户端证书) 按钮。
  8. 为您的客户端提供 PEM 格式的 X.509 客户端证书或链,或者选择 Generate (生成) 创建一个:

    为 Mutual TLS 提供或生成证书。
    • 如果您从 Redis Cloud 控制台生成证书,则证书生成后将显示 Download certificate (下载证书) 按钮。选择它以下载证书。

      Download certificate (下载证书) 按钮。

      下载内容包含:

      • redis-db-<database_id>.crt– 证书的公钥。

      • redis-db-<database_id>.key– 证书的私钥。

      注意:
      此时,您必须使用按钮下载证书。应用更改后,完整的公钥和私钥捆绑包将不再可供下载。
    • 如果您提供客户端证书或证书链,则在保存更改之前,您将看到证书详细信息。

      Download certificate (下载证书) 按钮。
  9. 您可以再次选择 Add client certificate (添加客户端证书) 以添加其他证书。

    Add client certificate (添加客户端证书) 按钮。
  10. 要应用更改并启用 TLS,请选择 Save database 按钮:

    使用 Save database (保存数据库) 按钮保存数据库更改。
注意:
  • 启用或关闭 TLS 时,更改将应用于新连接,但不会影响现有连接。客户端必须关闭现有连接并重新连接才能应用更改。

  • 启用 TLS 后,与数据库的所有客户端连接都必须使用 TLS。将不再允许使用未加密的连接。

通过 TLS 连接

要通过 TLS 连接到 Redis Cloud 数据库,您需要:

  • 支持 TLS 的 Redis 客户端
  • Redis Cloud CA 证书

下载 CA 证书

如果您没有 Redis Cloud CA 证书,可以从 Redis Cloud 控制台下载它们:

  1. 从 Redis Cloud 控制台菜单中选择 Account Settings,或转到数据库的 Configuration 屏幕。

  2. 转到 Security (安全) 部分。

  3. 对于 Redis Cloud 证书颁发机构,请执行以下任一作:

    • 选择 Download (下载) 按钮,从 Account Settings (帐户设置) 下载证书:

      使用 Download (下载) 按钮下载 Redis Cloud CA 证书。
    • 选择 Download server certificate (下载服务器证书) 按钮,从数据库的 Configuration (配置) 屏幕下载证书:

      使用 Download server certificate(下载服务器证书)按钮下载 Redis Cloud CA 证书。

下载内容包含一个名为redis_ca.pem,其中包括以下证书:

  • 自签名 Redis Cloud Essentials 计划根 CA(已弃用但仍在使用)

  • 自签名 Redis Cloud Pro 计划根 CA 和中间 CA(已弃用但仍在使用)

  • 公开信任的 GlobalSign 根 CA

注意:
下载的 PEM 文件包含多个证书。确保将所有证书导入到您的客户端信任存储区。如果您的客户端代码没有正确实现,它可能只会导入第一个证书。

要检查redis_ca.pem,运行keytool命令:

keytool -printcert -file ./redis_ca.pem | grep "Owner:"

You can add redis_ca.pem to the trust store or pass it directly to a Redis client.

If your database requires client authentication, you also need the public (redis_user.crt) and private (redis_user_private.key) client keys. See Enable TLS for details.

Connect with the Redis CLI

Here's how to use the Redis CLI to connect to a TLS-enabled Redis Cloud database.

Endpoint and port details are available from the Databases list or the database's Configuration screen.

Without client authentication

If your database doesn't require client authentication, then provide the Redis Cloud CA certificate bundle (redis_ca.pem) when you connect:

redis-cli -h <endpoint> -p <port> --tls --cacert redis_ca.pem

With client authentication

If your database requires client authentication, then you also need to provide your client's private and public keys:

redis-cli -h <endpoint> -p <port> --tls --cacert redis_ca.pem \
    --cert redis_user.crt --key redis_user_private.key
RATE THIS PAGE
Back to top ↑