搜索

首页  >  问答  >  正文

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可以放开访问权限,然后再用防火墙进行限制。但我想弄清楚上面的问题。如有回复,非常感谢!

黄舟黄舟2796 天前1009

全部回复(3)我来回复

  • 大家讲道理

    大家讲道理2017-04-24 09:11:50

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

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

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

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

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-24 09:11:50

    楼上正解,看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

    回复
    0
  • ringa_lee

    ringa_lee2017-04-24 09:11:50

    那可以不可以,同时绑定内网和 外网ip

    回复
    0
  • 取消回复