コマンドを使用してRedisサーバーに接続すると、エラーが発生しましたNOAUTH認証が必要です:redis-cli
およびping
を実行して、Redisが機能しているかどうかを確認します。
NOAUTH Authentication required errorの答え が見つかりました。これは、Redisにパスワードが設定されている場合にのみこのエラーが発生することを説明していますが、etc/redis/redis.conf
およびパスワード設定はありません。
このエラーを引き起こす可能性がある他の設定がある場合、誰もが知っていますか?助けてくれてありがとう。
p/s:Ruby on Rails Webフレームワーク、RedisデータベースはSidekiqに使用されています。
編集:Redisバージョンは2.8.4です。サーバーはAWSでホストされます。
現在、Redisサーバーの実行時にパスワードを設定できないように、Redisサーバーのパスワードを設定することにしました。
(Redisサーバーを再起動すると、正常に動作します。Sudo service redis-server restart
Redisサーバーを再起動します。
また、同様の問題に直面しました。誰かがAWSをスキャンし、すべてのパブリックredisに接続し、「CONFIG SET REQUIREPASS ''」を実行した可能性があるため、実行中のredisのインスタンスをロックダウンしているようです。 restart redisになると、構成は通常に復元されます。
最善の方法は、AWSセキュリティグループポリシーとブロックポート6379をパブリックに使用することです。
同じ問題(AWSで実行)があり、redisポートが公開されていることがわかりました。おそらく同じでした。誰かがいじっていました。
編集:解決策: redisパスワードをリセット そして(サービスとして実行していると仮定して)サービスを再起動します 新しいパスワードを提供
AWSインスタンスでRedisを実行するのとまったく同じ問題がありました。パスワードを必要とせずにredis-serverを再起動し(#requirepass '')、数時間は正常に動作し、「NOAUTH Authentication required」がスローされ、最終的にredis-serverを再起動する必要があります。
インスタンスのAWSのセキュリティグループ設定を確認し、ポート6379が公開されていることを確認しました(0.0.0.0/0)。ポートへのアクセスを、アクセスする必要がある唯一のサーバーに制限しましたが、それ以降、問題が発生することはありませんでした!
追伸これはStackOverflowへの私の初めての貢献です。助けてくれてありがとう!
私は同じ問題を抱えています。その後、requirepass
サーバーにredis
を設定します。
そして、そのパスワードをinitializer/redis.rb
$redis = Redis.new(:password=>"****")
うまくいく
私は同じ問題を抱えています、それは誰かが別のredis.cnf
構成ファイル、だから私はredis-serverを停止してから、構成ファイルを指定するredis-serverを開始しました。
redis-server /etc/redis.cnf
その後、すべてのものが正常に動作します。
設定ファイルに変更を加えた場合は、_Sudo service redis-server restart
_コマンドでredisサービスを再起動することを忘れないでください。
編集: redisサービスを実稼働モードで実行している場合、redisを実行するにはパスワードが必要です。そのためには、_/etc/redis
_にある設定ファイルでパスワードを設定する必要があります。
そのファイルの_requirepass *******
_セクションの下に_########### SECURITY ############
_を設定する必要があります。
次に、サーバーを再起動します_Sudo service redis-server restart
_。
その後、ホスト名とポートを設定した設定ファイルまたは初期化ファイルにそのパスワードを追加します。例:
$redis = Redis.new(:Host => 'localhost', :port => 6379, :password => "*******")