2016-04-13 2 views
0

Я использую экземпляр EC2 для стека MEAN. Я установил приложение Angular JS. Он нормально работает на порте 9000. Если i типПроблема с портом на AWS EC2

curl localhost:9000 

Я получаю, чтобы увидеть выход. Когда я проверяю его из браузера через Интернет, он не работает. Я пошел в админ-панель и открыл порт, я сделал это раньше из экспресс-приложения для порта 3000. Я все еще не мог получить доступ к нему из Интернета. Затем я проверил мое экспресс-приложение на порту 3000, оно отлично работает. Поэтому я закрыл это приложение &, изменив порт Angular app на 3000, снова начал. На этот раз я получил сообщение «Ошибка отказа соединения» Раньше была ошибка «время ожидания подключения». Поэтому я восстановил порт до 9000.

Теперь я попытался открыть порт обычным способом.

sudo iptables -I INPUT 1 -p tcp --dport 9000 -j ACCEPT 

Случайно пропустил эту команду трижды благодаря медленному сетевому соединению. Итак, вот как это выглядит.

sudo iptables -L 
Chain INPUT (policy ACCEPT) 
target  prot opt source    destination   
ACCEPT  tcp -- anywhere    anywhere    tcp dpt:9000 
ACCEPT  tcp -- anywhere    anywhere    tcp dpt:9000 
ACCEPT  tcp -- anywhere    anywhere    tcp dpt:9000 

Chain FORWARD (policy ACCEPT)  prot opt source    destination   

Chain OUTPUT (policy ACCEPT) 
target  prot opt source    destination 

На данный момент это должно было сработать, но все еще оставалось с той же проблемой.

ответ

0

Не знаете, как выглядит ваша сетевая топология, но похоже, что ваши iptables являются точными (если они трижды). Проверьте свои группы безопасности. У вашего экземпляра EC2 должна быть назначена группа безопасности, и все порты по умолчанию закрыты. Если вы хотите разрешить входящий трафик из Интернета на порт 9000, вам нужно явно разрешить порт 9000 в группе безопасности, связанной с экземпляром EC2.

Если у вас есть ELB или что-то еще, вы также должны будете разрешить этот определенный трафик на этих устройствах.

Смежные вопросы