Я просто арендовал сервер Amazon EC2, и сделал для узла.js приложение, которое слушает клиента на порту 9001.
Я настроил группы безопасности и добавил входящие и исходящие правила на этот порт. Брандмауэра нет (Amazon Linux), и я полностью отключил iptables.
на sudo netstat -plunta | grep LISTEN
возвращает это :
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2064/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2104/sendmail
tcp 0 0 0.0.0.0:9001 0.0.0.0:* LISTEN 3207/node
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 2146/mongod
tcp 0 0 :::80 :::* LISTEN 2303/httpd
tcp 0 0 :::22 :::* LISTEN 2064/sshd
мой узел.js приложение прослушивает этот порт и все адреса с помощью команды server.listen(9001, "0.0.0.0");
однако, a nmap сервера возвращает это:
Portscan scan report for 172.31.47.81
Host is up.
All 1000 scanned ports on 172.31.47.81 are filtered
Portscan done: 1 IP address (1 host up) scanned in 2.32 seconds
кроме того, делать было придумать мне подсказывает, что только порт 80 открыт.
если я запускаю узел.JS приложение на сервере, и сделать telnet <ip_server> 9001
, он работает. Однако, если я делаю то же самое с моего персонального компьютера, я получаю ошибки тайм-аута.
Я знаю, что этот вопрос рассматривался много раз, но ни одно из решений, которые я пробовал, не сработало. Я могу пинговать сервер, использовать SSH для подключения к нему, но узел.js приложение не будет работать, и ни один из портов, которые должны быть открыты, на самом деле не работает (даже попытка подключения через браузер к веб-серверу не работает, несмотря на то, что httpd настроен с соответствующим веб-сайтом, поэтому порт 80 также не открыт).
любые идеи о том, как исправить это?