sql >> Database >  >> NoSQL >> Redis

Hoe TLS voor Redis 6 op Sidekiq inschakelen?

Oplossing

Gebruik OpenSSL::SSL::VERIFY_NONE voor uw Redis-klant.

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

Opnieuw

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

Reden

Redis 6 vereist TLS om verbinding te maken. Heroku-ondersteuning legde echter uit dat ze verzoeken beheren van het routerniveau tot het applicatieniveau met zelfondertekende certificaten. Het blijkt dat Heroku SSL op routerniveau beëindigt en verzoeken van daaruit via HTTP naar de applicatie worden doorgestuurd terwijl alles achter Heroku's Firewall en veiligheidsmaatregelen zit.

Bronnen

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


  1. MongoDB-replicasets in verschillende regio's implementeren op AWS

  2. Hoe Redis-oproepen in Lua-scriptbeperkingen vermijden?

  3. Explain() in Mongodb:verschillen tussen nscanned en nscannedObjects

  4. Hoe een mongodb-verbinding opnieuw te gebruiken via Promise