问题描述
我的目的就是让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可以放开访问权限,然后再用防火墙进行限制。但我想弄清楚上面的问题。如有回复,非常感谢!
问题解答
回答1:你好,这个问题是由于很多文档解释bind而导致的误会。很多地方翻译如下:
指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中最好设置该项
但是,实际上,应该bind的是redis所在服务器网卡的ip。也就是说,如果你的redis服务器有两张网卡,一张是ip-1,另一张是ip-2,如果你bind ip-1.那么只有请求ip-1的请求会被受理。
可参考这篇文章:redis中bind与外网访问
回答2:楼上正解,看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回答3:
那可以不可以,同时绑定内网和 外网ip