Я могу 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? Как это сделать?
Вы установили параметр привязки для разрешения удаленного доступа на сервере 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
, что означает, что любой пользователь может получить доступ/изменить/удалить ваши данные. Будьте в безопасности!
bind 0.0.0.0
строки bind 0.0.0.0
после bind 127.0.0.1
строки bind 127.0.0.1
. Перезапустил редис. И теперь можно подключиться удаленно.
Для меня мне нужно было сделать следующее:
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)
Быстрое замечание о том, что выполнение этого без дополнительной защиты сервера Redis не является хорошей идеей, поскольку оно может оставить вас открытым для атаки. Обязательно используйте AUTH или иным образом защитите это. Подробнее см. http://redis.io/topics/security.
Шаг 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 (имя пользователя)
1- Комментарий out bind 127.0.0.1
2- set requirepass yourpassword
затем проверьте, заблокировал ли брандмауэр ваш порт
iptables -L -n
служба iptables stop
Откройте $ 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.