Como posso depurar um problema de porta / conectividade?

1

Estou executando um servidor WebSocket simples no Amazon EC2 (Fedora Core). Eu abri a porta relevante usando ec2-authorize e verifiquei se ela está aberta. O Iptables definitivamente não está rodando. No entanto, não consigo me conectar à porta de fora do EC2.

Eu tentei o seguinte (meu servidor está executando na porta 7000):

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

(de dentro do EC2: conecta bem)

nmap localhost

(a saída inclui a linha: 7000 / tcp aberto afs3-fileserver)

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

(desta vez da minha máquina local: recebo "conexão recusada: não é possível conectar-se ao host remoto")

O mais estranho é o seguinte: se eu iniciar o Nginx na porta 7000, ele funcionará e eu posso conectar de fora do EC2! E o servidor WebSocket falha na porta 80, onde o Nginx funciona bem.

Para mim, isso sugere um problema com o servidor WebSocket, MAS posso me conectar a ele com êxito a partir do EC2. (E funciona bem em uma conta VPS diferente).

Como posso depurar isso mais? Se alguém puder me impedir de arrancar meu cabelo, eu ficaria muito grato:)

    
por Rob Watson 27.04.2010 / 08:25

1 resposta

3

é possível que o seu serviço escute apenas a interface de loopback?

na sua caixa de amazon

netstat -lanp|grep LISTEN|grep 7000 

você espera ter algo como:

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

em vez de

tcp        0      0 127.0.0.1:7000          0.0.0.0:*               LISTEN      13798/abc
    
por 27.04.2010 / 09:02