Rails 5 Защитный кабель Action с помощью redis

Что я могу сделать, чтобы защитить соединение сокета на рельсах 5 с помощью redis и action Cable?

Какую конфигурацию мы можем добавить в

конфиг/redis.rb

чтобы добавить аутентификацию по паролю в Redis.


person abhsss96    schedule 27.12.2016    source источник


Ответы (2)


Я считаю, что это единственные варианты, представленные на данный момент:

development: &development
  :url: redis://localhost:6379
  :host: localhost
  :port: 6379
  :timeout: 1
  :inline: true
test: *development
production: &production
  :url: redis://{redis_host}:{redis_port}/
  :host: {redis_host}
  :port: {redis_port}
  :password: {redis_password}
  :inline: true
  :timeout: 1
person ellimist    schedule 28.12.2016

production:
  url: redis://:{redis_auth}@{redis_host}:{redis_port}/1

Обратите внимание на ':' перед {redis_auth}.

person Evmorov    schedule 08.09.2017
comment
При использовании этого подхода я получаю ошибку URI::InvalidURIError(неверный URI(это не URI?)). Означает ли это, что в пароле Redis не может быть определенных символов? - person apod; 12.04.2018
comment
@apod Я считаю, что могут быть такие проблемы - person Evmorov; 12.04.2018
comment
Кстати, если ваш пароль включает какие-либо символы, которые не являются безопасными для URI (для меня виновником был символ /), решение состоит в том, чтобы использовать URI.encode(your_password, /\W/) и использовать его в качестве переменной redis_auth. - person apod; 12.04.2018
comment
почему там : после // - person Prime; 22.10.2020
comment
@Prime это часть общего синтаксиса URI. URI = схема:[//полномочия]путь[?запрос][#фрагмент], где полномочия = [информация о пользователе@]хост[:порт] и информация о пользователе = имя пользователя:пароль. Здесь имя пользователя опущено (которое Redis будет интерпретировать как «пользователь по умолчанию»), но двоеточие по-прежнему необходимо, чтобы указать, что часть пароля является следующей. - person speakingcode; 03.03.2021