Несколько дней я боролся с удаленным подключением к Redis. Наконец-то я это сделал. Вот полный контрольный список, который я составил, чтобы следовать, чтобы подключиться. Некоторые из решений приведены в ответах выше. Тем не менее, я хотел, чтобы мой ответ был нано-вики по этой теме :) Я также добавил несколько полезных ссылок.
Если redis работает локально:
$ redis-cli
127.0.0.1:6379>ping
PONG
127.0.0.1:6379>
Если пароль не установлен
См. /etc/redis/redis.conf
Конфигурацию (это местоположение по умолчанию для Ubuntu 18.04, оно может быть у вас в другом месте):
# The following line should be commented
# requirepass <some pass if any>
Если в конфигурации для защищенного режима установлено значение «нет»:
# The following line should be uncommented
protected-mode no
если привязка IP открыта для доступа из Интернета в конфигурации:
# The following line should be commented
# bind 127.0.0.1 ::1
Если брандмауэр Linux разрешает соединения
(здесь для Ubuntu 18.04) Проверьте, разрешает ли входящий интернет-трафик переходить на порт 6379
( порт Redis по умолчанию)
# To check if it the port is open
$ sudo ufw status
Status: active
To Action From
-- ------ ----
...
6379/tcp ALLOW Anywhere
6379/tcp (v6) ALLOW Anywhere (v6)
...
# To open the port
$ sudo ufw allow 6379/tcp
Перезапустить службу Redis
Не забудьте перезапустить службу Redis, чтобы изменения вступили в силу и убедитесь, что она запущена:
$ sudo systemctl restart redis.service
$ sudo systemctl status redis
Проверьте, работает ли он как удаленный сервер
из командной строки используйте, redis-cli
как если бы сервер Redis находился на удаленном сервере:
$ redis-cli -h <your-server-ip>
<your-server-ip>:6379> ping
PONG
<your-server-ip>:6379> exit
$
Если вы можете выполнить ping-PONG на своем сервере Redis через свой интернет-сервер, подключенный как удаленный сервер, то удаленное подключение Redis будет работать.
Предупреждение безопасности
Все вышеперечисленное делает ваши данные Redis полностью открытыми для всех в Интернете.
Чтобы в основном защитить использование requirepass
и protected-mode yes
настройки Redis в конфигурации Redis (см. Выше) и заблокировать опасные команды Redis (см. Ссылку выше), для более глубокого понимания см. Эту статью и раздел безопасности сайта Redis ).
Полезные ссылки
Некоторые ссылки в помощь Как установить и защитить Redis в Ubuntu 18.04 и как настроить брандмауэр Ubuntu 18.04 .
Надеюсь, поможет.
redis-cli -h hostname