Подтвердить что ты не робот

Ошибка Redis: NOAUTH Требуется аутентификация, но пароль не установлен

У меня возникла ошибка Требуется проверка подлинности NOAUTH при подключении к серверу Redis через команду: redis-cli и запустить ping, чтобы проверить, работает ли Redis.

Я нашел ответ на требуемую ошибку NOAUTH Authentication, которая описывает, что эта ошибка возникает только тогда, когда Redis установлен пароль, но я проверил конфигурационный файл Redis на etc/redis/redis.conf и пароль не установлен.

Redis config

Кто-нибудь знает, что, если есть другие настройки, которые могут вызвать эту ошибку? Спасибо за любую помощь.

p/s: Я использую веб-инфраструктуру Ruby on Rails, база данных Redis используется для Sidekiq.

Отредактировано: Версия Redis - 2.8.4. Сервер размещен на AWS.

В настоящее время я решил установить пароль для сервера Redis, чтобы он не мог установить пароль при его запуске.

(Когда сервер Redis перезагружен, он будет работать нормально. Вы можете запустить sudo service redis-server restart, чтобы перезапустить сервер Redis.)

4b9b3361

Ответ 1


Мы также столкнулись с аналогичной проблемой. Похоже, что кто-то пошел и отсканировал AWS и подключился ко всем публичным redis и, возможно, запустил "CONFIG SET REQUIREPASS" ", тем самым заблокировав исполняемый экземпляр redis. После того как вы перезапустите redis, конфигурация будет восстановлена ​​в обычном режиме.

Лучше всего было бы использовать политику группы безопасности AWS и block port 6379 для публики.

Ответ 3

У меня такая же проблема. после этого я установлен requirepass для сервера redis.
И добавьте этот пароль в initializer/redis.rb

$redis = Redis.new(:password=>"****") 

Он отлично работает

Ответ 4

Была ли та же проблема, что и Redis на экземпляре AWS. Я бы перезапустил redis-server без каких-либо требований к паролю (#requirepass ''), будет работать нормально в течение нескольких часов, а затем выбросит "NOAUTH Authentication required" и в конечном итоге придется перезапустить redis-сервер.

Проверьте настройки групп безопасности в AWS для экземпляра, а порт 6379 - открытый для публики (0.0.0.0/0). Мы ограничили доступ порта к нашему единственному серверу, который должен получить доступ и не видел, чтобы проблема возникала с тех пор!

P.S. Это мой первый вклад в StackOverflow. Спасибо за помощь!

Ответ 5

Если вы внесли какие-либо изменения в файл конфигурации, не забудьте перезапустить службу redis с помощью команды sudo service redis-server restart.

Edit: Если вы используете redis-сервис в рабочем режиме, redis требует, чтобы пароль запускался. Для этого вам нужно установить пароль в вашем файле конфигурации в /etc/redis.

Вам нужно установить requirepass ******* в этот файл в разделе ########### SECURITY ############.

Затем перезагрузите сервер sudo service redis-server restart.

После этого добавьте этот пароль в свой файл конфигурации или инициализации, где вы установили имя хоста и порт. Пример:

$redis = Redis.new(:host => 'localhost', :port => 6379, :password => "*******")

Ответ 6

У меня такая же проблема, я обнаружил, что это вызвано тем, что кто-то начал redis с помощью другого файла конфигурации redis.cnf, поэтому я остановил redis-server, а затем начал redis-server указать файл конфигурации.

redis-server /etc/redis.cnf

Тогда все прекрасно работает.