Redis中的bind参数是什么作用?

18
什么是Redis中的bind参数?bind的文档假定我已经知道bind的含义(但我不知道)。bind是否设置了以下内容的IP地址:
  • Redis服务器?(我认为这是正确答案,但我不明白为什么我们需要它)
  • 将被授权连接到Redis的客户端?(我尝试过,但没有成功,所以可能不正确)
2个回答

21

这是 Redis 中相当于 MySQL bind-address 选项的等效项,并且以完全相同的方式工作。

它将 Redis 实例绑定到特定的接口(因此绑定到特定的 IP 地址)。

基本上,您的 Redis 服务器只会监听通过 bind 选项指定地址进行的连接。这是一种安全措施,可以允许放弃在特定网络内未建立的连接。

因此,如果您设置:

bind 127.0.0.1

Redis只接受连接到127.0.0.1的客户端(仅限本地)。

如果你将其设置为

bind 0.0.0.0

Redis将接受来自运行Redis的机器上任何接口使用的任何地址(因此接受可以与您的Redis实例建立的任何连接)。

如果您将其设置为其他特定地址,则Redis将期望从该特定地址进行连接,并将删除其他连接。


3
我不理解句子“它将接受到任何地址的连接”。在什么情况下会接受到不是127.0.0.1或服务器本身IP地址的地址连接呢?这种情况怎么可能发生? - usual me
1
这意味着它将接受分配给redis机器上任何接口的任何地址的连接,因为它没有其他可以接收的地址。 - soulcheck

0

以 root 用户身份在终端中输入命令,如:nano /etc/redis/redis.conf 打开 redis.conf 文件,并注释掉相应的行,例如:

#bind 0.0.0.0. 

通过这样做,您将能够通过每台远程计算机连接到redis服务器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接