更改Redis服务器的'bind'配置而不重新启动它

时间:2016-05-14 13:52:39

标签: redis

我正在尝试更改我的redis'bind'配置而不重新启动它。 here说我可以使用CONFIG SET绑定“new ips”来做到这一点,但是当我在redis-cli中键入它时,我得到以下错误!

  

(错误)ERR不支持的CONFIG参数:bind

我正在使用的命令有什么问题,或者Redis在没有重置的情况下不支持此配置更改?

P.S:如果它有用,“CONFIG GET bind”工作正常并返回当前配置。

1 个答案:

答案 0 :(得分:1)

我最近遇到了类似的问题。我的Redis实例已经绑定到127.0.0.1。我能想到的唯一解决方案就是通过IP表来解决问题

sudo iptables -t nat -I PREROUTING -p tcp -d  <NEW_IP_TO_BIND> --dport 6379 -j DNAT --to-destination 127.0.0.1:6379

其中&lt; NEW_IP_TO_BIND&gt;是您要添加的IP,127.0.0.1是已配置的绑定值

同样在这种情况下因为我使用127.0.0.1而不是任何其他地址作为目的地我必须允许从&lt;的接口转发NEW_IP_TO_BIND&GT;到当地使用:

sysctl -w net.ipv4.conf.eth0.route_localnet=1

(在我的例子中,界面是eth0)

上述在安全方面有点狡猾,不应被视为永久配置的解决方案。 它只适用于临时迁移配置