Redis
 sql >> Database >  >> NoSQL >> Redis

Come abilitare TLS per Redis 6 su Sidekiq?

Soluzione

Usa OpenSSL::SSL::VERIFY_NONE per il tuo cliente 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 })

Motivo

Redis 6 richiede TLS per la connessione. Tuttavia, il supporto di Heroku ha spiegato che gestisce le richieste dal livello del router al livello dell'applicazione che coinvolgono i certificati autofirmati. Si scopre che Heroku termina SSL a livello di router e le richieste vengono inoltrate da lì all'applicazione tramite HTTP mentre tutto è alla base del firewall e delle misure di sicurezza di Heroku.

Fonti

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