Redis主从安全连接需四层协同:主节点启用requirepass强密码、从节点配置一致masterauth、限制bind和protected-mode并配置防火墙、强制从节点只读及禁用FLUSHALL等危险命令。

Redis 主从环境的安全连接配置,核心是防止未授权访问、避免主从通信被窃听或篡改,同时确保复制链路本身不被恶意节点接入。它不是只设一个密码就完事,而是需要主节点认证、从节点身份约束、网络隔离和只读保护四层协同。
主节点必须启用密码认证
主节点开启 requirepass 是基础前提,否则从节点无需凭证即可连接并拉取全量数据:
- 编辑主节点
redis.conf,取消注释并设置强密码:requirepass YourStrongPass123! - 重启主节点或执行
CONFIG SET requirepass "YourStrongPass123!"(临时生效) - 密码不能是简单字符串(如
redis、123456),建议含大小写字母、数字、符号,长度 ≥12 位
从节点需正确配置 masterauth
仅主节点设密码不够——从节点发起复制时,必须携带对应凭据,否则连接会被拒绝:
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
- 在从节点
redis.conf中添加:masterauth YourStrongPass123! - 注意:该值必须与主节点
requirepass完全一致,区分大小写 - 若使用运行时命令配置(如
REPLICAOF),需先执行:CONFIG SET masterauth "YourStrongPass123!" - 配置后务必执行
CONFIG REWRITE持久化,避免重启失效
限制主节点监听范围与启用保护模式
开放 0.0.0.0 且未设密码等于裸奔;即使有密码,也应缩小攻击面:
- 主节点配置中,将
bind改为具体内网 IP(如bind 192.168.10.10),而非0.0.0.0 - 确保
protected-mode yes(默认开启),它会阻止公网未认证连接 - 若部署在云服务器,安全组/防火墙只放行从节点 IP 访问主节点 6379 端口,禁止其他来源
强制从节点只读并禁用危险命令
防止从节点被攻陷后反向写入污染主库,或执行 FLUSHALL 等破坏性操作:
- 确认从节点配置含:
replica-read-only yes(Redis 5+ 默认开启,显式声明更稳妥) - 可在主节点通过
rename-command FLUSHALL ""禁用高危命令(同样适用于从节点) - 检查从节点
INFO replication输出中slave_read_only:1为 true

















