2015-06-23 2 views
0

Я не могу подключиться к моему серверу Redis из удаленного экземпляра AWS (оба экземпляра в одном VPC, хотя) ...Доступ к серверу Redis на AWS

Я запустил экземпляр CentOS 6 и запущен сервер Redis. Я могу подтвердить, что сервер работает:

tcp  0  0 *:6379  *:* LISTEN 891/redis-server * 
tcp  0  0 *:6379  *:* LISTEN 891/redis-server * 

Я поставил группу безопасности AWS быть:

Custom TCP | port 6379 | 0.0.0.0/0 

Я могу подключиться к серверу Redis из одного экземпляра с помощью redis-cli, но когда я пытаюсь чтобы сделать это с какой-то другой, например AWS я получаю:

Could not connect to Redis at ec2-*.compute.amazonaws.com:6379: No route to host 
+0

Прокомментированы опции 'bind' в redis config ... Что вы предлагаете мне поместить для поддержки удаленных подключений? – rastko

+1

@ItamarHaber - это полная противоположность истине. 0.0.0.0 означает, что соединения принимаются на всех сетевых интерфейсах. – hobbs

+0

@hobbs, ты прав, конечно. К сожалению. –

ответ

0

Похоже, вы используете 127.0.0.1 IP для связывания вместо 0.0.0.0. Откройте /etc/redis.conf и установите флажок bind.

+0

Компонент связи был прокомментирован, я поставил 'bind 0.0.0.0'. Теперь 'netstat' дает мне столбец' Название программы' с немного другим выходом: '1181/redis-server 0'. Если вы можете проверить первый комментарий к вопросу, Итамар предлагает противоположное? Любая идея, что происходит? – rastko

0

Выключен брандмауэр включен, поэтому его нельзя было подключить снаружи. Таким образом, чтобы обернуть его:

1.Задайте Redis для удаленных подключений путем установки bind 0.0.0.0 в redis.conf

2.Удостоверьтесь брандмауэра не мешает вам подключиться к серверу. На AWS вы можете отключить его:

sudo service iptables save 
sudo service iptables stop 
sudo chkconfig iptables off 
Смежные вопросы