centos

centos redis配置SSL加密传输

小樊
48
2025-11-03 13:43:30
栏目: 云计算

在CentOS上配置Redis以使用SSL加密传输,可以按照以下步骤进行:

1. 安装Redis

首先,确保你已经安装了Redis。如果没有安装,可以使用以下命令进行安装:

sudo yum install epel-release
sudo yum install redis

2. 生成SSL证书和密钥

你需要生成一个自签名的SSL证书和密钥。可以使用OpenSSL来生成这些文件。

sudo mkdir /etc/redis/ssl
cd /etc/redis/ssl

# 生成私钥
sudo openssl genrsa -out redis.key 2048

# 生成证书签名请求(CSR)
sudo openssl req -new -key redis.key -out redis.csr -subj "/CN=localhost"

# 生成自签名证书
sudo openssl x509 -req -days 365 -in redis.csr -signkey redis.key -out redis.crt

3. 配置Redis使用SSL

编辑Redis配置文件 /etc/redis.conf,添加或修改以下配置项:

# 启用SSL
tls-port 6379
tls-cert-file /etc/redis/ssl/redis.crt
tls-key-file /etc/redis/ssl/redis.key
tls-ca-cert-file /etc/redis/ssl/redis.crt  # 如果你使用的是自签名证书,可以指向同一个文件
tls-auth-clients no
tls-verify-client no

4. 重启Redis服务

保存配置文件后,重启Redis服务以应用更改:

sudo systemctl restart redis

5. 验证SSL配置

你可以使用 redis-cli 来验证SSL配置是否生效。首先,确保你使用的是SSL端口(默认是6379):

redis-cli -p 6379 --ssl

然后,尝试连接到Redis服务器:

127.0.0.1:6379> ping
PONG

如果返回 PONG,则表示SSL配置成功。

6. 客户端配置

在客户端连接Redis时,也需要配置SSL。以下是一个Python示例,使用 redis-py 库连接到SSL启用的Redis服务器:

import redis

r = redis.StrictRedis(
    host='localhost',
    port=6379,
    ssl=True,
    ssl_cert_reqs='required',  # 如果需要验证服务器证书
    ssl_ca_certs='/etc/redis/ssl/redis.crt',
    ssl_keyfile='/etc/redis/ssl/redis.key'
)

print(r.ping())  # 应该输出 True

通过以上步骤,你可以在CentOS上配置Redis以使用SSL加密传输。

0
看了该问题的人还看了