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

Как я могу отладить проблему с портом / подключением?

Я использую простой сервер WebSocket на Amazon EC2 (Fedora Core). Я открыл соответствующий порт с помощью ec2-authorize и проверил, что он открыт. Iptables определенно не работает. Однако я не могу подключиться к порту извне EC2.

Я пробовал следующее (мой сервер работает на порту 7000):

telnet ec2-public-dns.xx.xx.xx.amazon.com 7000  

(изнутри EC2: подключается нормально)

nmap localhost

(вывод включает строку: 7000 / tcp open afs3-fileserver)

telnet ec2-public-dns.xx.xx.xx.amazon.com 7000  

(на этот раз с моего локального компьютера: я получаю сообщение «В соединении отказано: невозможно подключиться к удаленному хосту»)

Странно вот что: если я запускаю Nginx на порту 7000, он работает, и я могу подключиться извне EC2! И сервер WebSocket выходит из строя на 80-м порту, где Nginx работает нормально.

Для меня это говорит о проблеме с сервером WebSocket, НО я могу успешно подключиться к нему из EC2. (И он отлично работает на другой учетной записи VPS).

Как я могу отладить это дальше? Если кто-нибудь может остановить меня рвать волосы, я буду очень благодарен :)

возможно ли, что ваша служба прослушивает только интерфейс обратной связи?

на твоей амазонке

netstat -lanp|grep LISTEN|grep 7000 

вы ожидаете получить что-то вроде:

tcp        0      0 0.0.0.0:7000              0.0.0.0:*               LISTEN      2216/abc

скорее, чем

tcp        0      0 127.0.0.1:7000          0.0.0.0:*               LISTEN      13798/abc