Redis Sentinel 认证

3
我有3台运行着Redis和Sentinel的服务器。所有实例在配置中都有以下内容:
requirepass XXX
masterauth XXX

我可以使用redis-cli连接到redis服务器,但如果我尝试连接到sentinel,则无法进行身份验证。

root@ip-:/usr/lib/nagios/plugins# redis-cli -p 26379
127.0.0.1:26379> AUTH xxx
(error) ERR unknown command 'AUTH'
127.0.0.1:26379> 

如果我使用相同的命令,但是使用redis端口,它可以工作。

谢谢 最好的


1
设计上,配置为Sentinels的Redis服务器不支持AUTH。请确保将Sentinels放置在安全网络中。 - Cy Rossignol
1个回答

12
你还需要为Sentinels设置身份验证。在sentinel.conf中添加requirepass=<password>。有关详细信息,请参见此处此处。请注意,由于不是所有客户端都支持此设置,您需要小心。
此外,您还需在该文件中设置sentinel auth-pass <master-name> <password>,以便Sentinels能够管理受保护的Redis服务器。(但我猜您已经这样做了)。

2
哨兵也需要相互通信吗?他们是否假定彼此都使用相同的密码? - OrangeDog
2
@StopHarmingMonica,这是启用哨兵认证的提交:https://github.com/antirez/redis/commit/fa675256c127963c74ea68f8bab22ef105bada02。如果你看描述,它说:“每个哨兵都会尝试使用其配置为接受客户端的相同密码对其他哨兵进行身份验证。” - maaw
2
请注意,在主声明 sentinel monitor <master-name> ... 之后放置配置行 sentinel auth-pass <master-name> <password> - HugoPoi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接