Назад | Перейти на главную страницу

Порт не открывается на новом экземпляре EC2 / AWS

Я создал новый экземпляр, добавил те же группы безопасности как и раньше в EC2, выбран тот же VPC, что и раньше (все точно так же афаик), но теперь получаю: ERR_CONNECTION_REFUSED когда я пытаюсь подключиться к порту 8080

У меня простой nodejs server работает в порту 8080:

netstat -anp | grep :8080
   (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
   tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      2438/node

Это: sudo lsof -i выходы:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhclient  640   root    5u  IPv4   9825      0t0  UDP *:bootpc
dhclient  640   root   20u  IPv4   8531      0t0  UDP *:15190
dhclient  640   root   21u  IPv6   8532      0t0  UDP *:13517
sshd      950   root    3u  IPv4  10114      0t0  TCP *:ssh (LISTEN)
sshd      950   root    4u  IPv6  10116      0t0  TCP *:ssh (LISTEN)
sshd     1140   root    3u  IPv4   1708      0t0  TCP ip-x-x-x-x.eu-west-1.compute.internal:ssh->x-x-x-x:49442 (ESTABLISHED)
sshd     1194 ubuntu    3u  IPv4   1708      0t0  TCP ip-x-x-x-x.eu-west-1.compute.internal:ssh->x-x-x-x:49442 (ESTABLISHED)
node     1800 ubuntu   12u  IPv6  10541      0t0  TCP *:8545 (LISTEN)
node     2438 ubuntu   16u  IPv4  12327      0t0  TCP localhost:http-alt (LISTEN)

И: sudo netstat -tulpn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      2438/node
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      950/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      950/sshd
tcp6       0      0 :::8545                 :::*                    LISTEN      1800/node
udp        0      0 0.0.0.0:15190           0.0.0.0:*                           640/dhclient
udp        0      0 0.0.0.0:68              0.0.0.0:*                           640/dhclient
udp6       0      0 :::13517                :::*                                640/dhclient

Я здесь в полном недоумении.

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

В ERR_CONNECTION_REFUSED сообщает мне, что он существует, но переадресация портов не применяется.

Ваш сервер nodejs прослушивает локальное устройство обратной петли 127.0.0.1, как вы можете видеть в netstat вывод. 127.0.0.1:8080

Вам нужно изменить сервер nodejs, чтобы слушать 0.0.0.0

Оказалось, что это проблема с сервером nodejs, мне пришлось открыть его для внешних запросов. Поскольку он работал на localhost, я не думал, что это будет проблемой.

Так что примерно так:

   app.listen(8080, '0.0.0.0', (err) => {
   ...

В 0.0.0.0 гарантирует, что он также отвечает на внешние IP-адреса.