Redis Sentinel身份验证

gho*_*vat 2 redis sentinel redis-sentinel

我有3台运行Redis和Sentinel的服务器。所有实例都在配置中

requirepass XXX
masterauth XXX
Run Code Online (Sandbox Code Playgroud)

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

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> 
Run Code Online (Sandbox Code Playgroud)

如果我使用相同的命令,但带有redis端口,则可以使用。

最好的谢谢

maa*_*aaw 7

您还必须为哨兵设置身份验证。我的意思是requirepass=<password>在sentinel.conf中。在这里这里的更多信息。请注意,因为并非每个客户端都支持此设置。

另外,您需要sentinel auth-pass <master-name> <password>在该文件中进行设置,以使哨兵能够管理安全的Redis服务器。(但是我想您已经做到了)。

  • 哨兵之间不是也得说话吗?他们是否只是假设他们都使用相同的密码? (2认同)
  • @StopHarmingMonica 这是启用哨兵身份验证的提交:https://github.com/antirez/redis/commit/fa675256c127963c74ea68f8bab22ef105bada02。如果您看到描述,它会说:“每个哨兵都会尝试使用其配置为接受客户端的相同密码来与其他哨兵进行身份验证。” (2认同)
  • 请注意将配置行 `sentinel auth-pass &lt;master-name&gt; &lt;password&gt;` 放在 master 声明 `sentinel monitor &lt;master-name&gt; ...` 之后 (2认同)