Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Wie aktiviere ich TLS für Redis 6 auf Sidekiq?

Lösung

Verwenden Sie OpenSSL::SSL::VERIFY_NONE für Ihren Redis-Client.

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 })

Grund

Redis 6 erfordert TLS für die Verbindung. Der Heroku-Support erklärte jedoch, dass sie Anfragen von der Routerebene bis zur Anwendungsebene mit selbstsignierten Zertifikaten verwalten. Es stellt sich heraus, dass Heroku SSL auf Routerebene beendet und Anfragen von dort über HTTP an die Anwendung weitergeleitet werden, während sich alles hinter Herokus Firewall und Sicherheitsmaßnahmen befindet.

Quellen

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