在redis.conf中,正常设置为
绑定127.0.0.1
我希望redis也能听另一个ip(比如我的本地开发地址)
我试过
绑定127.0.0.1,123.33.xx.xx
但这不起作用。我在文档中找不到任何相关内容或通过谷歌搜索。希望有人可以提供帮助。
答案 0 :(得分:31)
自Redis 2.8以来,确实可以绑定到多个IP。只需用空格(而不是逗号)分隔每个IP。
bind 127.0.0.1 123.33.xx.xx
答案 1 :(得分:15)
自:
你可以:- [Redis 2.8 Release Candidate 1(2.7.101)]发布日期:2013年7月18日
- [NEW]能够绑定多个IP地址。
干杯!!
答案 2 :(得分:8)
此答案不会过时,适用于较旧版本和较新版本
理解的问题是Redis绑定不会显示客户端计算机的地址,但会显示应通过其建立连接的接口。在您的示例中,如果您的本地开发(客户端)地址是123.33.xx.xx,那么它并不意味着您必须将完全相同的地址作为绑定,否则Redis服务将无法启动。
因此,如果您的Redis 服务器计算机上的ifconfig
显示您有一些与此类似的网络接口:
eth0 Link encap:Ethernet HWaddr 00:0c:...
inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0
您可以将界面的地址 192.168.1.110
作为绑定,并且每次通过此界面的Redis请求都应该成功。
答案 3 :(得分:4)
编辑:似乎正确的方法是,只有一行和一个或多个IP以空格分隔
这样:
bind 127.0.0.1 10.150.220.121
答案 4 :(得分:3)
我也尝试找到那个答案,因为它代表了,不可能这样做,我在搜索多个(但不是所有接口)的答案时找到了这个。这就是http://code.google.com/p/redis/issues/detail?id=497出现的情况,说明redis本身不会支持它。
与haproxy结合使用,无法一次性将它放在redis前面。您需要使用其他端口,或者选择绑定1 IP。
答案 5 :(得分:3)
您无法将redis设置为侦听特定多个接口。如果需要多个接口,只需删除绑定行。
@taro指出使用防火墙来限制访问。
答案 6 :(得分:0)
对我来说唯一有效的方法是添加单独的行:
bind 111.222.33.44
bind 127.0.0.1 ::1
答案 7 :(得分:0)
bind 127.0.0.1 192.168.152.2
注意,我必须把 127.0.0.1 放在前面,否则 192.x 在系统启动时不会被绑定。
但是另一个 systemctl restart redis
会使绑定起作用,所以我猜这是一个错误(Debian 10 和 Redis 5.0.3)