问题描述:
本地虚拟机装的Redis在宿主机中通过连接工具连接的时候访问不了
解决:
找到redis.conf
- 将
bind 127.0.0.1 -::1这个配置项修改为bind 0.0.0.0 - 将
protected-mode yes改为protected-mode no
重启Redis
解释:
在 Redis 中,bind 和 protected-mode 配置项控制着服务的网络访问范围和安全性。让我们分别看看它们的作用:
1. bind 0.0.0.0
- 解释:默认情况下,
bind 127.0.0.1 -::1指定 Redis 仅监听本地回环地址127.0.0.1(IPv4)和::1(IPv6),这样只能在服务器本地访问 Redis,局域网或其他设备无法连接。 - 作用:当将
bind设置为0.0.0.0时,Redis 将监听所有网络接口,包括局域网地址和公网地址(如果服务器有公网 IP)。这样,局域网内其他设备就可以通过服务器的局域网 IP 地址连接到 Redis。
2. protected-mode no
- 解释:
protected-mode是 Redis 为防止未经授权的访问而设计的一个保护模式。默认情况下,如果protected-mode为yes且没有配置密码,Redis 只允许来自bind列表内的本地 IP 的连接请求,拒绝来自外部的请求。 - 作用:当设置
protected-mode no后,即使有远程连接请求,Redis 也不会拒绝。因此,关闭protected-mode会让来自局域网的设备能够成功连接到 Redis。
组合效果
将 bind 设置为 0.0.0.0 使 Redis 监听所有 IP 地址,而将 protected-mode 设置为 no 使 Redis 放松访问限制。因此,这两个配置一起作用,允许局域网设备通过服务器的局域网 IP 地址访问 Redis 服务。



















