sql >> データベース >  >> NoSQL >> Redis

SidekiqでRedis6のTLSを有効にする方法は?

    解決策

    OpenSSL::SSL::VERIFY_NONEを使用します Redisクライアント用。

    Sidekiq

    # config/initializers/sidekiq.rb
    Sidekiq.configure_server do |config|
      config.redis = { ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE } }
    end
    
    Sidekiq.configure_client do |config|
      config.redis = { ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE } }
    end
    

    Redis

    Redis.new(url: 'url', driver: :ruby, ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE })
    

    理由

    Redis6では接続にTLSが必要です。ただし、Herokuのサポートでは、ルーターレベルから自己署名証明書を含むアプリケーションレベルまでのリクエストを管理していると説明されています。結局のところ、HerokuはルーターレベルでSSLを終了し、リクエストはHTTP経由でアプリケーションに転送されますが、すべてがHerokuのファイアウォールとセキュリティ対策の背後にあります。

    出典

    • https://ogirginc.github.io/en/heroku-redis-ssl-error
    • https://devcenter.heroku.com/articles/securing-heroku-redis#connecting-directly-to-stunnel


    1. $projectステージで$in演算子を使用して配列をフィルタリングします

    2. jacksonは、Springのインターフェイスのリストを使用してオブジェクトを逆シリアル化します

    3. MongoDBは、配列要素でドキュメントを並べ替えます

    4. ドキュメントの特定の部分を取得する