【发布时间】:2015-02-21 15:53:52
【问题描述】:
log:Creating Server TCP 监听套接字(myip:port): bind: Cannot assign requested address
我的 redis.conf
bind 10.114.234.11
当我像这样配置时
bind 127.0.0.1
效果很好
【问题讨论】:
标签: redis
log:Creating Server TCP 监听套接字(myip:port): bind: Cannot assign requested address
我的 redis.conf
bind 10.114.234.11
当我像这样配置时
bind 127.0.0.1
效果很好
【问题讨论】:
标签: redis
您目前可能没有为 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。如果您真的想监听该子网上的连接,您将需要更改您的网络设置(具体如何完成很大程度上取决于您的操作系统)。
【讨论】:
在为远程访问设置 redis 时,我也遇到了同样的问题。我使用的是谷歌云平台,我们创建了谷歌计算引擎 VM 实例,并在其中安装了我们的 Redis 服务器。默认情况下,Redis 没有配置安全配置。您必须执行一些步骤来保护它。通过在 bind 中更新 redis.conf 中的 IP 地址将只允许来自该 IP 地址的访问。当我们这样做时,我们遇到了同样的错误。
为了解决这个问题,当我们在网络中添加端口开放记录时,我们没有在 redis.conf 文件中添加 IP 地址,而是在谷歌云防火墙规则中添加 IP 地址 -> IP 范围您可以指定您希望允许访问 redis 的 IP 地址。在 redis.conf 文件中,从 bind 127.0.0.1 到 bind 0.0.0.0 更新。所以基本上我们会从谷歌云防火墙规则仪表板中限制它。
以下是添加 IP 地址限制的步骤:
导航到 VPC 网络 -> 防火墙规则
【讨论】:
当我将默认 redis.conf 更改为自定义 Redis conf 时,我遇到了同样的问题,并且在更改了如下绑定后它开始工作,请注意,下面的 conf 将打开来自所有来源的 Redis 连接。
绑定127.0.0.1 - :: 1绑定0.0.0.0 - :: 1
【讨论】: