配置Redis密码最简单的方法是在redis.conf文件中设置requirepass参数。例如,编辑配置文件:
requirepass your_strong_password
然后重启Redis服务器,所有客户端连接都需要提供AUTH命令验证密码。步骤详解
1. 找到Redis配置文件,通常在/etc/redis/redis.conf或安装目录下。2. 用文本编辑器打开,如vim redis.conf。3. 搜索requirepass,如果没有就添加一行:requirepass "mypassword" 注意密码用双引号包围。4. 保存文件。5. 重启Redis:sudo systemctl restart redis 或 ./redis-server redis.conf。
客户端连接验证
连接Redis后,使用AUTH命令:redis-cli -h 127.0.0.1 -p 6379,然后输入AUTH mypassword,如果返回OK则成功。也可以直接在连接时指定:redis-cli -a mypassword。
安全注意事项
密码要足够复杂,避免默认空密码。结合bind 127.0.0.1只允许本地访问,或用防火墙限制端口6379。定期更换密码,并监控日志中的未授权访问尝试。
Redis 6.0以上ACL方式
更高级的方法是用ACL文件。在redis.conf中设置aclfile /path/to/users.acl,然后创建文件内容如:user default on >mypassword ~* &* +@all。重启后生效,支持多用户和权限控制。
Docker中设置密码
运行容器时:docker run -d --name myredis -p 6379:6379 -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf。
常见错误处理
如果提示ERR invalid password,检查密码是否正确拼写,包括大小写和引号。确保配置文件被正确加载,用redis-cli CONFIG GET requirepass验证。
FAQ
Q: 设置密码后忘记了怎么办?
A: 查看redis.conf中的requirepass行,或用CONFIG GET requirepass命令。
Q: 密码设置后还能远程连接吗?
A: 可以,但需在客户端提供密码,如redis-cli -a password -h ip -p port。
Q: requirepass和ACL哪个更好?
A: ACL更灵活,适合多用户场景,requirepass简单适合单用户。
Q: Windows下怎么设置?
A: 编辑redis.windows.conf,添加requirepass,然后redis-server redis.windows.conf启动。