sql >> Databasteknik >  >> NoSQL >> Redis

Hur aktiverar jag TLS för Redis 6 på Sidekiq?

Lösning

Använd OpenSSL::SSL::VERIFY_NONE för din Redis-klient.

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

Orsak

Redis 6 kräver TLS för att ansluta. Men Heroku support förklarade att de hanterar förfrågningar från routernivå till applikationsnivå som involverar självsignerade certifikat. Det visar sig att Heroku avslutar SSL på routernivå och förfrågningar vidarebefordras därifrån till applikationen via HTTP medan allt ligger bakom Herokus brandvägg och säkerhetsåtgärder.

Källor

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


  1. Strängfältsvärdeslängd i mongoDB

  2. MongoDB BSON-guide

  3. Aktivera datakomprimering i MongoDB 3.0

  4. Hanterar schemaändringar i Mongoose