Redis bind 多个IP出错

我的目的就是让A,B两台服务器能够访问部署在A上的Redis。
文档里说,Redis 2.8以上的版本支持在配置文件里bind多个IP,例如:

bind 192.168.1.100 10.0.0.1

我是2.8以上的版本,然后按照这样的方式,进行了如下设置:

bind IP-A IP-B

可是发现结果A和B都不能访问了。请问这是什么原因呢?我配置错了吗?

另外我知道注释掉原来的bind 127.0.0.1可以放开访问权限,然后再用防火墙进行限制。但我想弄清楚上面的问题。如有回复,非常感谢!

阅读 30.5k
3 个回答

你好,这个问题是由于很多文档解释bind而导致的误会。很多地方翻译如下:

指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中最好设置该项

但是,实际上,应该bind的是redis所在服务器网卡的ip。也就是说,如果你的redis服务器有两张网卡,一张是ip-1,另一张是ip-2,如果你bind ip-1.那么只有请求ip-1的请求会被受理。

可参考这篇文章:redis中bind与外网访问

楼上正解,看redis.conf中所述。

# By default Redis listens for connections from all the **network interfaces**
# available on the server. It is possible to listen to just one or multiple
# interfaces using the "bind" configuration directive, followed by one or
# more IP addresses.
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏