открыть порт redis для удаленных подключений

75

Я могу ping pong redis на сервере

# redis-cli ping
PONG

Но у удаленно возникли проблемы:

$ src/redis-cli -h REMOTE.IP ping
Could not connect to Redis at REMOTE.IP:6379: Connection refused

В конфигурации я получил стандартный порт:

# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379

Так что, может быть, я должен открыть порт 6379 на удаленной машине ubuntu? Как это сделать?

  • 0
    Redis не слушает на удаленной машине?
  • 0
    может быть, как это проверить
Показать ещё 4 комментария
Теги:
redis

6 ответов

148
Лучший ответ

Вы установили параметр привязки для разрешения удаленного доступа на сервере redis?

До (файл /etc/redis/redis.conf)

bind 127.0.0.1

После

bind 0.0.0.0

и запустите sudo service redis-server restart, чтобы перезапустить сервер. Если это не проблема, вы можете проверить любые брандмауэры, которые могут блокировать доступ.

Важно: Если вы не используете брандмауэр (iptables, ufw..) для управления подключением к используемому порту, ANYONE может подключиться к этому экземпляру Redis. Без использования Redis 'AUTH, что означает, что любой пользователь может получить доступ/изменить/удалить ваши данные. Будьте в безопасности!

  • 2
    В конфигурационном файле я добавил bind 0.0.0.0 строки bind 0.0.0.0 после bind 127.0.0.1 строки bind 127.0.0.1 . Перезапустил редис. И теперь можно подключиться удаленно.
  • 2
    Спасибо, любезно!
Показать ещё 4 комментария
15

Для меня мне нужно было сделать следующее:

1- Комментарий bind 127.0.0.1

2- Измените protected-mode на no

3- Защитите мой сервер с помощью iptables (https://www.digitalocean.com/community/tutorials/how-to-implement-a-basic-firewall-template-with-iptables-on-ubuntu-14-04)

  • 1
    Я думаю, что привязка 0.0.0.0 тоже работает.
  • 1
    Мне пришлось использовать bind 0.0.0.0. «bind 127.0.0.1» не работает для меня. Мне не нужно было устанавливать «защищенный режим» на «нет». Предупреждение: не оставляйте пустое место до «связывания», иначе сервер не запустится. Примечание: я использую порт Windows Redis
6

Быстрое замечание о том, что выполнение этого без дополнительной защиты сервера Redis не является хорошей идеей, поскольку оно может оставить вас открытым для атаки. Обязательно используйте AUTH или иным образом защитите это. Подробнее см. http://redis.io/topics/security.

3

Шаг 1: Перейдите в Местоположение:/etc/redis.conf

Шаг 2: Командная строка 127.0.0.1

Шаг 3: Перезапустить Redis: -      sudo systemctl start redis.service

Шаг 4: Отключить Firewalld       systemctl отключить firewalld

Шаг 5: Остановить Firewalld       systemctl stop firewalld

Затем попробуйте.

redis-cli -h 192.168.0.2 (ip) -a redis (имя пользователя)

3

1- Комментарий out bind 127.0.0.1

2- set requirepass yourpassword

затем проверьте, заблокировал ли брандмауэр ваш порт

iptables -L -n

служба iptables stop

0
  1. Откройте $ REDIS_HOME/redis.conf и раскомментируйте requirepass и запишите свой пароль в указанных строках.

  2. Войдите в Redis, используя redis-cli, и подтвердите свой пароль в базе данных, используя команду auth yourpassword.

  3. Отключите защищенный режим, изменив его строку в $ REDIS_HOME/redis.conf на защищенный режим №.

  4. Найдите все значения портов привязки и прокомментируйте их все. Просто добавьте привязку 0.0.0.0 в файл $ REDIS_HOME/redis.conf.

  5. Отключите брандмауэр или откройте порт redis.

  6. Запустите redis, используя './redis-server $ REDIS_HOME/redis.conf

  7. Проверьте конфигурацию с помощью пароля. /redis-cli -h ip -a.

  8. Проверьте конфигурацию через './redis-cli -h ip ping
  • 0
    Пожалуйста, никогда не давайте совет "Отключите ваш брандмауэр".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню