typora/daliy_note/8月归档/8.26/redis.md
2024-12-12 10:48:55 +08:00

2.5 KiB
Raw Permalink Blame History

在 Redis 中设置认证AUTH可以为你的 Redis 服务器增加一层安全性。通过设置密码,只有提供正确密码的客户端才能访问 Redis 服务器。以下是设置和使用 Redis 认证的步骤:

1. 修改 Redis 配置文件

首先,找到你的 Redis 配置文件(通常是 redis.conf)。

在配置文件中,找到以下行(可能是被注释掉的):

# requirepass foobared

将其取消注释并设置一个强密码,例如:

requirepass YourStrongPasswordHere

保存配置文件并重启 Redis 服务器以使更改生效:

sudo systemctl restart redis-server

或者,如果你是手动启动 Redis 的,可以使用:

redis-server /path/to/your/redis.conf

2. 使用 AUTH 连接 Redis 服务器

当 Redis 设置了密码之后,客户端需要在连接时提供密码。以下是不同客户端的示例:

使用 redis-cli

redis-cli
> AUTH YourStrongPasswordHere
> PING

如果认证成功,PING 命令将返回 PONG

使用 Python 的 redis-py

import redis

r = redis.Redis(host='localhost', port=6379, password='YourStrongPasswordHere')
print(r.ping())  # 如果认证成功,将返回 True

使用 Node.js 的 ioredis

const Redis = require('ioredis');
const redis = new Redis({
  host: 'localhost',
  port: 6379,
  password: 'YourStrongPasswordHere'
});

redis.ping().then(result => {
  console.log(result);  // 如果认证成功,将返回 'PONG'
});

3. 在运行时设置密码

如果你需要在运行时设置或更改密码,可以使用 CONFIG SET 命令:

redis-cli
> CONFIG SET requirepass YourNewStrongPasswordHere

请注意,使用 CONFIG SET 命令设置的密码不会持久化到配置文件中。如果 Redis 服务器重启,设置将丢失。因此,最好在 redis.conf 中设置密码以确保持久性。

4. 移除密码

如果你决定移除密码保护,可以将 requirepass 设置为空字符串:

redis-cli
> CONFIG SET requirepass ""

或者在配置文件中注释掉 requirepass 行并重启 Redis 服务器。

5. 注意事项

  1. 安全性:确保使用强密码,并限制 Redis 服务器的网络访问权限。
  2. 持久化:修改 redis.conf 文件确保密码在重启后仍然有效。
  3. 监控:定期检查 Redis 日志和访问记录,确保未发生未经授权的访问。

通过这些步骤,你可以为 Redis 服务器增加一层安全保护,防止未经授权的访问。