【问题标题】:Why would Redis allow client to shutdown server?为什么 Redis 会允许客户端关闭服务器?
【发布时间】:2019-09-01 06:03:45
【问题描述】:

我在我的电脑上安装了redis,打开了1个redis-server和2个redis-cli。如果我在第一个 redis-cli 终端中键入“shutdown save”命令,它将关闭服务器和第一个 redis-cli。然后,第二个 redis-cli 将无法再与 redis-server 通信,因为它已被另一个 redis-cli 关闭。 这对我来说毫无意义。 IMO,服务器是独立服务,应始终运行。客户端应该能够连接/断开与服务器的连接,但永远不能禁用服务器。为什么 Redis 允许客户端禁用可以由许多其他客户端共享的服务器?考虑一下,如果redis服务器在远程机器上,而redis客户端在其他机器上,如果其中一个客户端关闭远程服务器,那么所有其他客户端都会受到影响,这不是很危险吗?

【问题讨论】:

    标签: redis


    【解决方案1】:

    如果您不希望客户端执行SHUTDOWN 命令(或任何其他命令),您可以使用rename-command 配置指令。

    从即将发布的 Redis v6 开始,ACL 有望提供对管理员和应用程序命令的更好控制。

    【讨论】:

      【解决方案2】:

      不,我认为你弄错了。允许/禁止远程服务器上的某些特定操作是应用程序的责任。您可以简单地禁止某些命令,以便单个 cli 无法关闭 redis-server。

      【讨论】:

        猜你喜欢
        • 2022-01-08
        • 1970-01-01
        • 2012-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-29
        相关资源
        最近更新 更多