Открыть порт redis для удаленных подключений
Я могу 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? Как это сделать?
Ответы
Ответ 1
Вы установили параметр привязки для разрешения удаленного доступа на сервере 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
Для меня мне нужно было сделать следующее:
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)
Ответ 3
Быстрое замечание о том, что выполнение этого без дополнительной защиты сервера Redis не является хорошей идеей, поскольку оно может оставить вас открытым для атаки. Обязательно используйте AUTH или иным образом защитите это. Подробнее см. http://redis.io/topics/security.
Ответ 4
1- Комментарий out bind 127.0.0.1
2- set requirepass yourpassword
затем проверьте, заблокировал ли брандмауэр ваш порт
iptables -L -n
служба iptables stop
Ответ 5
Шаг 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 (имя пользователя)
Ответ 6
-
Откройте $ REDIS_HOME/redis.conf и раскомментируйте requirepass и запишите свой пароль в указанных строках.
-
Войдите в Redis, используя redis-cli, и подтвердите свой пароль в базе данных, используя команду auth yourpassword.
-
Отключите защищенный режим, изменив его строку в $ REDIS_HOME/redis.conf на защищенный режим №.
-
Найдите все значения портов привязки и прокомментируйте их все. Просто добавьте привязку 0.0.0.0 в файл $ REDIS_HOME/redis.conf.
-
Отключите брандмауэр или откройте порт redis.
-
Запустите redis, используя './redis-server $ REDIS_HOME/redis.conf
-
Проверьте конфигурацию с помощью пароля. /redis-cli -h ip -a.
- Проверьте конфигурацию через './redis-cli -h ip ping