【问题标题】:Bind ip wrong in redis configredis配置中绑定ip错误
【发布时间】: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


    【解决方案1】:

    您目前可能没有为 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。如果您真的想监听该子网上的连接,您将需要更改您的网络设置(具体如何完成很大程度上取决于您的操作系统)。

    【讨论】:

      【解决方案2】:

      在为远程访问设置 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 地址限制的步骤:

      • 登录您的google cloud console

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

      • 点击 CREATE FIREWALL RULE 或编辑现有的,如果它已经存在
      • 在源 IP 范围中添加您的 IP 地址以仅允许访问 - 请参见下面的屏幕截图

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2013-04-13
          • 2018-09-12
          • 2012-02-06
          • 2019-06-24
          • 1970-01-01
          • 2021-07-25
          • 1970-01-01
          • 2019-11-25
          • 1970-01-01
          相关资源
          最近更新 更多