Node.js на RedHat и Amazon EC2

У меня установлен Node.js на экземпляре RedHat EC2. Я также установил Express и пытаюсь запустить «узел app.js». Я получаю сообщение консоли о том, что он прослушивает порт 3000. Я пытаюсь перейти на http://.compute-1.amazonaws.com:3000/, но ничего не появляется. Пробовал менять на 8080 и тоже ничего. У меня есть все эти порты в моей группе безопасности (TCP 3000, SSH 22, TCP 8000, TCP 8080). Не уверен, почему это не работает! Это что-то с RedHat?

Любая помощь приветствуется. Спасибо


person jnfr    schedule 27.10.2011    source источник


Ответы (2)


Существует большая вероятность того, что ваш экземпляр поставляется с активным брандмауэром.

do: iptables -L

он должен отображать ваш текущий статус брандмауэра.

Затем, в зависимости от вашей версии RedHat Linux, вам придется настроить брандмауэр для открытия портов. (См. документацию Redhat или http://www.cyberciti.biz/faq/rhel-fedorta-linux-iptables-firewall-configuration-tutorial/)

person Martin Samson    schedule 27.10.2011
comment
Я не уверен, что делать с выводом. Я вижу цепочку ВХОД, цепочку ВПЕРЕД и цепочку ВЫХОД. Я вижу под цепочкой FORWARD, там написано "REJECT all -- anywhere (src) anywhere (dst) reject-with icmp. Это виновник? - person jnfr; 27.10.2011
comment
Я понял! Я запустил iptables -F, чтобы удалить все текущие правила, а затем «iptables -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT» для нужных мне портов, и это сработало. Большое спасибо за то, что указали мне правильное направление. - person jnfr; 27.10.2011
comment
Имейте в виду, что брандмауэр восстановится после перезагрузки экземпляра. - person Martin Samson; 27.10.2011

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

person Mauvis Ledford    schedule 07.02.2013