0

私は自分のプロジェクトでキャッシングの目的で Redis を使用しました。そのセットアップには Spring を使用しました。以下のリンクを参照して、プロジェクトで行ったことを理解してください。 http://caseyscarborough.com/blog/2014/12/18/caching-data-in-spring-using-redis/

このコードは、本番環境 (Rhel 7-EC2 インスタンス) で過去 6 ~ 8 か月間正常に動作していました。突然、「ERR操作は許可されていません」というエラーが発生し始めました


org.springframework.dao.InvalidDataAccessApiUsageException: ERR operation not permitted; nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR operation not permitted
    at org.springframework.data.redis.connection.jedis.JedisExceptionConverter.convert(JedisExceptionConverter.java:44) 

このため、Redis サーバーからデータを取得できません。したがって、アプリケーションは正しく動作しません。

この問題について検索しました 。redis (エラー) ERR 操作が許可されていないなどのリンクを調べました。

これは、コメント化されているかどうかにかかわらず、redis.conf ファイルの「requirepass」をチェックするように指示していますが、実稼働環境で redis.conf ファイルを見たときに、コメント化されていました。コメントされていても、redis-cli「AUTH foobared」で以下のコマンドを実行しました。上記のコマンドを実行した後、機能しませんでした。

注 : ただし、Redis の実行中のインスタンスを強制終了して再起動すると、正常に動作し始め、「ERR 操作は許可されていません」というエラーは発生しません。

Redis の再起動後、システムはさらに 1 ~ 2 時間正常に動作し始めますが、同じ問題が発生し、Redis サーバーを再起動すると再びオフになります。

注 : Redis サーバーを 2.6 から 3 にアップグレードしようとしましたが、うまくいきませんでした

4

1 に答える 1

0

Redis はインターネットに公開されていますか? それはおそらくCONFIG SET requirepass攻撃です。

この SO の質問と @antirez のコメントを参照してください。

于 2015-12-11T05:39:18.197 に答える