redis bind

要理解这个属性其实有点绕,网上好多错误的理解,请大家不要相信。
先说一句精华的话:
bind配置了什么ip,别人就得访问bind里面配置的ip才访问到redis服务。

一台主机,可能会有多张网卡,或者对应多网段内网的Ip,公网IP等,也就意味着其他机器可以通过多个IP地址访问到这台主机。
假如 有ip1,ip2,ip3可以访问到一台服务器。
但是redis bind只配置了
[html] view plain copy
  1. bind ip1 ip2  

那如果是远程连接redis服务的话就只能通过ip1和ip2来访问。ip3不行。即使你可以ping得通。

误会是怎样产生的。
特殊情况:
[html] view plain copy
  1. bind 127.0.0.1  

这样配置的意思是,要访问到我的redis服务就只能通过127.0.0.1这个ip来访问,额。。。那这样不管是哪台机都不可能访问到啦,一输入这个127.0.0.1,就连到自己本地了,呵呵。
这样恰好又起到了只能本地访问的效果,所以网上的误会也就这样产生了。以为bind配置了哪个IP,就得对应的IP的机器才能访问。

还有个特殊情况:
[html] view plain copy
  1. bind 0.0.0.0  

0.0.0.0,最特殊的一个IP地址,代表的是本机所有ip地址,不管你有多少个网口,多少个ip,如果监听本机的0.0.0.0上的端口,就等于监听机器上的所有IP端口。
bind 0.0.0.0等价于 不配置 bind 即注释掉bind

注意:
[html] view plain copy
  1. bind ip1 ip2 ip3 ip4  
ip1 ip2 ip3 都是本机所属的ip地址,但ip4如果是你随便乱写的ip,根本不是本机的ip,不好意思,会直接报错,redis都起不来。

你可能感兴趣的:(redis bind)