Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment activer TLS pour Redis 6 sur Sidekiq ?

Solution

Utilisez OpenSSL::SSL::VERIFY_NONE pour votre client 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 })

Raison

Redis 6 nécessite TLS pour se connecter. Cependant, le support Heroku a expliqué qu'il gérait les demandes du niveau du routeur au niveau de l'application impliquant des certificats auto-signés. Il s'avère qu'Heroku termine SSL au niveau du routeur et que les requêtes sont transmises à l'application via HTTP alors que tout est derrière le pare-feu et les mesures de sécurité d'Heroku.

Sources

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