DENIED Redis is running in protected mode: Redis is running in protected mode(Redis 正以保护模式运行)
Redis含义
Redis 正以保护模式运行,拒绝了来自外部(非回环地址)的无密码连接。出于安全考虑,未经身份验证的远程访问被阻止。
原因
绑定到所有接口(或 bind 设置宽松)的 Redis 在未配置密码(requirepass)的情况下收到了外部客户端的连接。protected-mode 默认开启,在这种情况下会阻止非回环请求。这表明一个未加防护的 Redis 被意外暴露到了互联网上。
解决方法
正确的修复方式是加固:用 requirepass(或 ACL 用户)设置强密码,并用 bind 只在受信任的接口上监听。如果需要远程访问,用密码/TLS 保护,并用防火墙限制 6379 端口。protected-mode no 只能在封闭/安全的网络中临时设置,对于面向互联网的部署绝对不推荐。
同一数据库的其他条目
- BUSYGROUP Consumer Group name already existsConsumer group already exists(消费者组已存在)
- NOGROUP No such key or consumer groupNo such key or consumer group in stream(stream 中不存在该键或消费者组)
- NOTBUSY No scripts in execution right nowNo scripts in execution right now(当前没有正在执行的脚本)
- ERR Can't execute '<cmd>': only (P|S)SUBSCRIBE / (P|S)UNSUBSCRIBE / PING / QUIT / RESET are allowed in this contextCommand not allowed in subscribe context(在订阅上下文中不允许该命令)
- ERR SELECT is not allowed in cluster modeSELECT is not allowed in cluster mode(集群模式下不允许 SELECT)
- ERR wrong number of arguments for commandWrong number of arguments for command(命令的参数数量错误)
- ERR Background save already in progressBackground save already in progress(后台保存已在进行中)