Я установил образ Ubuntu на VirtualBox на хосте Windows 7. В гостевой системе Ubuntu я установил Redis, который по умолчанию работает на порту 6379 (TCP).
Я настроил переадресацию портов с помощью графического интерфейса VirtualBox для SSH и проверил, что, подключившись к localhost: 2222, соединение правильно перенаправляется на порт 22, и SSH работает.
Однако, когда я завершил ту же настройку для порта 6379, я получаю сообщение об ошибке «telnet: невозможно подключиться к удаленному хосту: соединение отклонено» при подключении к порту 30000, который настроен для пересылки на 6379.
Чтобы убедиться, что Redis работает правильно, я проверил, что могу подключиться локально (через командную строку на гостевой машине) к Redis, используя порт 6379 (telnet localhost 6379), и успешно запускал для него команды.
Я немного не понимаю, почему это происходит. Любой вклад был бы отличным.
Найдите свой файл redis.conf и закомментируйте строку Bind 127.0.0.1. Большинство стандартных установок имеют интерфейс, за исключением локальных подключений. После того, как вы закомментируете это и перезапустите сервер Redis, вы сможете подключиться, если никакой другой брандмауэр не мешает войти
В Ubuntu Linux вы можете перейти в папку /etc/init.d и выполнить эту команду, чтобы перезапустить сервер Redis.
sudo ./redis-server restart
или
sudo /etc/init.d/redis-server restart
Проверьте свои /etc/redis/redis.conf
, и обязательно измените значение по умолчанию:
bind 127.0.0.1
к
bind 0.0.0.0
Затем перезапустите службу:
sudo /etc/init.d/redis restart
Теперь вы можете проверить, прослушивает ли redis нелокальный интерфейс, с помощью:
redis-cli -h 192.168.x.x ping
если ты получишь PONG
все нормально.
В конфигурационном файле Redis:
/etc/redis/redis.conf
Измените следующее:
bind 127.0.0.1 ::1
Замените на следующее:
0.0.0.0
Сохраните файл
Попробуйте выполнить следующую команду с другого ПК / сервера:
redis-cli -h x.x.x.x -p 6379
где x.x.x.x заменяется IP вашего сервера