配置Redis密码最简单的方法是在redis.conf文件中设置requirepass参数。例如:requirepass yourstrongpassword123。然后重启Redis服务,所有客户端连接都需要提供AUTH yourstrongpassword123才能操作。
步骤详解
1. 编辑redis.conf文件,找到# requirepass foobared这一行,去掉#并修改为requirepass yourpassword。2. 重启Redis:sudo systemctl restart redis。3. 测试:redis-cli后输入AUTH yourpassword,没有返回OK则密码错误。
ACL认证方式(Redis 6.0+)
Redis 6引入ACL,用户可以创建多个用户并分配权限。使用ACL SETUSER username on >password ~* +@all命令创建用户,然后在redis.conf中设置aclfile /path/to/users.acl。重启后客户端连接使用AUTH username password。
安全最佳实践
绑定IP:bind 127.0.0.1 只允许本地访问。关闭危险命令:rename-command FLUSHALL ""。使用TLS加密传输。定期更换密码,避免弱密码如123456。
客户端连接示例
redis-cli -h 127.0.0.1 -p 6379 -a yourpassword。Java Jedis:Jedis jedis = new Jedis("localhost", 6379); jedis.auth("yourpassword"); Python redis:r = redis.Redis(host='localhost', port=6379, password='yourpassword')。
常见配置错误
忘记重启服务导致配置不生效。只设置密码但未绑定IP仍暴露风险。密码太简单易被猜到或暴力破解。
Docker环境配置
docker run -d --name redis -p 6379:6379 -e REDIS_PASSWORD=yourpassword redis/redis-server --requirepass yourpassword。注意使用环境变量注入密码。
FAQ
Q: 设置密码后如何验证?
A: 用redis-cli连接,输入AUTH password,如果返回OK则成功。
Q: Redis 5以下版本支持ACL吗?
A: 不支持,只有requirepass单一密码。
Q: 密码泄露怎么办?
A: 立即修改redis.conf中的密码并重启服务。
Q: 如何禁用密码?
A: 将requirepass设置为空字符串并重启,但不推荐生产环境。