2014-10-14 15 views
9

To musi być jakiś niepoprawny configRedis :: CommandError: ERR Klient wysłał AUTH, ale hasło nie jest ustawione

zainstalowałem Redis na localhost.

Gdy próbuje połączyć się z nim za pośrednictwem konsoli Rails

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

Nie mogę wysyłać komendy i dostaję

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

Nie przypominam ustawienie hasła, ani nie wiem gdzie aby sprawdzić, czy zostało ustawione hasło

jeśli używam innego adresu URL (np. rediscloud lub redistogo) Mogę wysyłać polecenia (z pasującym ustawieniem hasła)

Z tego co rozumiem, błąd mówi, że wysyłam hasło, ale redis nie ma hasła. Ale jak widzisz, nie ustawiam żadnego hasła.

Czy istnieje sposób debugowania tego hasła?

+4

Czy można sprawdzić, czy ustawiono zmienną środowiskową REDIS_URL? W takim przypadku klient Redis, którego używasz, może wybrać z niego hasło. – soveran

+0

dziękuję, to było dokładnie w tym przypadku. Chociaż jawnie deklaruję hosta i hasło, to bierze hasło z redis_url, którego nie używałem .. –

+0

dobry połów @soveran :) –

Odpowiedz

3

Możesz debugować komunikację klienta ze strony Redis, używając polecenia MONITOR. MONITOR dostarcza strumień poleceń, które Redis przetwarza, więc jeśli twój klient Ruby będzie wystawiał i nie będzie użyty - dla AUTH będziesz mógł go tam złapać.

+0

dzięki, zauważam, że wysyłam hasło, ale nie mam tego hasła ustawionego gdziekolwiek indziej kod ... :(nawet użycie zwykłego irb i próba wysłania polecenia spowoduje wysłanie tego hasła. Czy to możliwe, że w przeszłości ustawiłem to hasło i jest ono gdzieś przechowywane? –

+0

Uratowałeś mi dzień :) Dzięki. –

+0

Dzięki za przegrany, ale szczęśliwszy, że to pomogło :) –

1

mam ten sam problem i to było to, że staram się połączyć podczas gdy hasło nie zostało ustawione na serwerze RADIS i mój kod wysyłał przepustkę za nieważną

edycji redis.conf i ustawienie hasła naprawić

requirepass pass_here