如何为redis-server设置密码

问题描述

我部署了一个 3 实例高可用性 redis。我在每台服务器上都安装了 redis 和 sentinel。我正在尝试设置密码 以便它在使用命令“redis-cli”进入时请求它。

我正在修改“redis.conf”文件的“requirepass”参数的值。

requirepass password123

也在 redis 终端内,我使用以下命令设置密码

config set requirepass password123
auth password123

当我使用以下命令连接时

redis-cli --tls --cert /<path>/redis.crt --key /<path>/redis.key --cacert /<path>/ca.crt -a password123

它工作正常,我的问题是当我重新启动 redis 服务时,由于某种原因没有保留密码设置,我收到以下消息

Warning: AUTH Failed

我不知道我需要做什么配置才能在重启redis服务后保持更改。

我安装的redis版本是“Redis server v=6.0.6”

解决方法

检查您的 ACL 配置,您的 requirepass 配置将被 ACL 操作忽略。我从 redis.conf 示例文件中获得了关注信息。

重要提示:从 Redis 6 开始“requirepass”只是一种兼容性 位于新 ACL 系统之上的层。选项效果将只是设置 默认用户的密码。客户端仍将使用 AUTH 像往常一样,或者更明确地使用 AUTH 默认 如果他们遵循新协议:两者都会起作用。 requirepass 与 aclfile 选项和 ACL LOAD 不兼容 命令,这些将导致 requirepass 被忽略。