背景:
工作中,生產環境的Redis集羣都是無密碼的,存在安全隱患,現在需要對Redis集羣進行密碼設置。相關工作總結如下:
基礎知識:
requirepass:redis實例自身的連接密碼,當客戶端請求連接當前Redis服務器時,需要使用的密碼
masterauth:對於主從結構的redis集羣,當主redis設置了連接密碼時,需要在從redis上設置此密碼。
總結如下:
場景1:主設置requirepass,從設置masterauth
常規配置
場景2:主設置materauth,從設置requirepass
主從可以正常複製,因爲主沒有設置連接密碼,從也無需設置認證密碼
場景3:主設置masterauth,從設置masterauth
主從複製無法正常進行,因爲主沒有設置連接密碼,但是從設置了認證密碼,此時會報錯
“Unable to AUTH to MASTER: -ERR Client sent AUTH, but no password is set”
場景4:主設置requirepass,從設置requirepass
主從複製無法正常進行,因爲主設置了連接密碼,但是從沒有設置認證密碼,此時會報錯
“(error) NOAUTH Authentication required.”