在redis配置中绑定ip错误

时间:2014-12-23 13:36:47

标签: redis

  

log:创建服务器TCP侦听套接字(myip:port):bind:无法分配请求的地址

我的redis.conf

bind 10.114.234.11

当我喜欢这样的时候

bind 127.0.0.1

效果很好

3 个答案:

答案 0 :(得分:5)

您可能目前没有为10.x.x.x子网设置任何接口。如果您使用任何类型的Linux,ifconfig应该能够告诉您当前设置了哪些接口。例如,我正在运行Mint 17:

$ ifconfig | grep "inet addr"
inet addr:127.0.0.1  Mask:255.0.0.0
inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0

所以我(像你一样)将无法将Redis(或任何其他请求TCP套接字的服务)绑定到10.x.x.x.如果您真的想要侦听该子网上的连接,则需要更改网络设置(具体如何取决于您的操作系统)。

答案 1 :(得分:0)

设置redis进行远程访问时,我也遇到了同样的问题。我正在使用谷歌云平台,我们在安装了Redis服务器的地方创建了谷歌计算引擎虚拟机实例。默认配置安全配置后,Redis不提供。您必须执行一些步骤来保护它。通过在 bind 中更新redis.conf中的IP地址,将只允许从该IP地址访问。当我们这样做时,我们得到了同样的错误。

要解决此问题,我们在网络中添加端口开放记录时,我们还没有在redis.conf文件中添加IP地址而是在Google云防火墙规则中添加了IP地址 - > IP范围可以指定要允许访问redis的IP地址。在redis.conf文件中,从绑定127.0.0.1更新为绑定0.0.0.0 。所以基本上我们会将其限制在谷歌云防火墙规则仪表板中。

以下是添加IP地址限制的步骤:

  • 登录到您的google cloud console

  • 导航至VPC网络 - >防火墙规则

  • 点击创建防火墙规则或编辑已存在的规则
  • 在源IP范围中添加您的IP地址以仅允许访问 - 请参阅下面的屏幕截图

enter image description here

  • 创建此规则后,在VM实例网络类型下添加此源标记,即可完成。

答案 2 :(得分:0)

当我将默认 redis.conf 更改为自定义 Redis conf 时遇到了同样的问题,在更改如下绑定后,它开始工作,请注意,下面的 conf 将打开所有来源的 Redis 连接。< /p>

绑定 127.0.0.1 -::1 到绑定 0.0.0.0 -::1