你遇到的错误提示表明 Redis 服务器正在保护模式下运行,并且未设置密码,因此只允许来自本地回环接口(localhost)的连接。要解决此问题,可以选择以下几种方法之一:
方法 1: 在本地禁用保护模式
如果你只是进行测试,并且确保 Redis 不会被公开访问,你可以在连接到 Redis 的同一主机上执行以下命令以禁用保护模式:
redis-cli CONFIG SET protected-mode no
然后使用 CONFIG REWRITE
命令使该更改永久生效:
redis-cli CONFIG REWRITE
方法 2: 编辑配置文件
另一种方法是编辑 Redis 的配置文件,通常位于 /etc/redis/redis.conf
或其他位置,根据你的安装而定。在这个文件中,找到 protected-mode
选项并将其值修改为 no
。
例如,将这一行:
protected-mode yes
改为:
protected-mode no
保存文件后,重启 Redis 服务以使更改生效:
sudo systemctl restart redis.service # 或者根据你的系统使用相应的命令
方法 3: 启动时禁用保护模式
如果你是手动启动 Redis 服务,可以在启动命令中添加 --protected-mode no
参数。例如:
redis-server --protected-mode no
方法 4: 设置认证密码
为了提高安全性,建议设置一个身份验证密码,而不是禁用保护模式。在配置文件中找到 requirepass
选项并取消注释(如果需要)并设置一个密码,例如:
requirepass yourpasswordhere
保存配置后重新启动 Redis。之后,在使用 redis-cli
时,需要提供密码,如下所示:
redis-cli -a yourpasswordhere
注意事项
- 如果你决定禁用保护模式,请确保你的 Redis 实例不会暴露在公共互联网或不受信任的网络上,以防止未经授权的访问。
- 配置完毕后,请务必检查相关安全措施,以确保数据和服务的安全。
选择适合你需求的方法并进行操作即可。如果还有其他问题,请随时问我!
内容由零声教学AI助手提供,问题来源于学员提问