2014-10-14 2 views
9

Questo deve essere un po 'di configurazione sbagliataRedis :: CommandError: ERR client ha inviato AUTH, ma nessuna password è impostata

ho installato Redis su localhost.

Quando si tenta di connettersi ad esso attraverso console Rails

Redis.new(:host => 'localhost', :port => 6379) 

Non è possibile inviare comandi ed ottengo

Redis::CommandError: ERR Client sent AUTH, but no password is set 

Non ricordo l'impostazione di una password, né so dove per vedere se è stata impostata una password

se utilizzo un URL diverso (come rediscloud o redistogo) posso inviare comandi (impostando la password in modo accodellabile)

Da quello che ho capito l'errore dice che sto inviando una password, ma i redis non hanno una password. Ma, come puoi vedere, non sto impostando alcuna password ..

C'è un modo per eseguire il debug di questo?

+4

È possibile verificare se la variabile di ambiente REDIS_URL è impostata? In tal caso, il client Redis che stai utilizzando potrebbe prelevare la password da esso. – soveran

+0

grazie, è stato esattamente il caso .. Anche se dichiaro esplicitamente l'host e la password, prende la password da redis_url che non ho usato .. –

+0

good catch @soveran :) –

risposta

3

È possibile eseguire il debug della comunicazione del client dal lato di Redis utilizzando il comando MONITOR. MONITOR fornisce uno stream dei comandi che Redis elabora, quindi se il tuo client Ruby emette e non richiesto, per AUTH sarai in grado di catturarlo lì.

+0

grazie, sto notando che sto inviando una password, ma non ho questa password impostata ovunque il codice .. :(. anche l'utilizzo di irb semplice e il tentativo di inviare il comando invierebbe quella password .. È possibile che in passato ho impostato quella password e viene memorizzata da qualche parte? –

+0

Hai salvato la mia giornata :) Grazie. –

+0

Grazie per l'upvote, ma più felice che ti abbia aiutato :) –

1

Ho stesso problema ed è stato che sto tentando di connettersi mentre nessuna password era stata impostata sul server di Radis e il mio codice è stato l'invio del passaggio nullo

modificare redis.conf e impostando una password risolvere il problema

requirepass pass_here