redis-store(redis-rails) で Redis に SSL 接続する方法


redis-railsrediss://hogehoge 形式でSSL接続をしようとすると、SSL であることを無視して、redis://hogehoge で繋ごうとする問題。

実際の問題は redis-rails で使われている redis-store 側にあって、この問題は対応中で近々マージされる様子
Honor rediss:// schemes in URI by fancyremarker · Pull Request #306 · redis-store/redis-store

対処方法

取り急ぎの対処方法として、Hash で接続情報を渡してあげれば OK

Rails.application.config.session_store :redis_store,
  servers: URI.parse(ENV['REDIS_SESSION_STORE']).tap { |uri|
    break {
      host: uri.host,
      port: uri.port,
      password: uri.password ? CGI.unescape(uri.password) : nil,
      db: uri.path.split('/')[1] || 0,
      namespace: uri.path.split('/')[2] || nil,
      scheme: uri.scheme,
    }.compact
  }