Abrindo uma porta para um aplicativo acessível fora do host local?

4

Embora tenha pesquisado isso o dia todo, ainda não consigo encontrar uma solução para esse problema.

No meu servidor Ubuntu eu estou tentando executar um aplicativo node.js que simplesmente imprime "Hello World" e roda na porta 3000. Eu quero ser capaz de acessar esta porta não só no meu localhost, mas também no meu live endereço do site.

Executando sudo netstat -ntlp , recebo o seguinte:

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      58639/mysqld    
tcp        0      0 0.0.0.0:9418            0.0.0.0:*               LISTEN      585/git-daemon  
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      839/dovecot     
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      839/dovecot     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      792/sshd        
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      17862/master    
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      889/ajenti-panel -d
tcp        0      0 0.0.0.0:5314            0.0.0.0:*               LISTEN      947/BackupFP    
tcp        0      0 0.0.0.0:5666            0.0.0.0:*               LISTEN      838/nrpe        
tcp6       0      0 :::3300                 :::*                    LISTEN      26390/apache2   
tcp6       0      0 :::9418                 :::*                    LISTEN      585/git-daemon  
tcp6       0      0 :::110                  :::*                    LISTEN      839/dovecot     
tcp6       0      0 :::143                  :::*                    LISTEN      839/dovecot     
tcp6       0      0 :::80                   :::*                    LISTEN      26390/apache2   
tcp6       0      0 :::22                   :::*                    LISTEN      792/sshd        
tcp6       0      0 :::3000                 :::*                    LISTEN      52768/index.js  
tcp6       0      0 :::25                   :::*                    LISTEN      17862/master    
tcp6       0      0 :::443                  :::*                    LISTEN      26390/apache2   
tcp6       0      0 :::5666                 :::*                    LISTEN      838/nrpe  

Percebemos que a porta parece abrir e até rodar

curl exampleAddress.com:3000 resulta em Hello World , mas não funciona na Internet. Ao usar essa ferramenta verificador de porta , parece que a porta permanece fechada. Tenha em mente que estou apenas tentando acessar uma porta extra em um site já em execução que é executado na porta 443 (ele é executado em SSL, isso pode ser importante).

Eu assegurei que o firewall não é o problema executando: sudo ufw allow 3000 e até tentei desativar completamente o firewall.

Existe alguma configuração do Apache que estou em falta porque as portas 443, 80 e 22 estão abertas, mas não vejo diferenças específicas.

    
por Shawn Ily Holman 03.11.2017 / 02:42

1 resposta

0

Eu posso ver o processo index.js ouvindo na porta 3000, protocolo IPv6 (tcp6) mas não ouvindo no protocolo IPv4 (tcp).

Você precisará verificar sua configuração do NodeJS e deixá-lo escutar no IPv4 também.

Você pode testar isso com curl -4 exampleAddress.com:3000

    
por sмurf 03.11.2017 / 04:21