Porta escutando localhost: 8000, mas não no ip: 8000

9

Olá, estou executando um aplicativo Web na porta 8000. Quando o acesso no servidor host localhost: 8000, ele responde ok, 127.0.0.1:8000 também funciona, mas 192.168.1.7:8000 não funciona. 192.168.1.7 é o ip do meu servidor.

Além disso, se eu tentar acessar outro aplicativo da Web em execução na porta 80, ele funcionará 192.168.1.7

Ativei o firewall ufw e defina a permissão padrão do ufw. Estou usando o servidor ubuntu 12.04

Alguma sugestão de por que não consigo acessar meu aplicativo na porta 8000 usando o endereço IP: 8000?

Desde já, obrigado!

Marionete
fonte
1
O aplicativo provavelmente está ouvindo o endereço do host local (127.0.0.1) em vez de todos os endereços locais (0.0.0.0). Você não forneceu informações suficientes em seu aplicativo para que as pessoas o ajudem a corrigir isso.
James Henstridge
Meu aplicativo em execução na porta 8000 é apenas um site. Talvez esta cópia / pasta do netstat revele mais sobre minha rede:
Marionette
3
Bem, correr netstat -tln | grep 8000pode lançar alguma luz sobre o problema. Se o endereço local do servidor for 127.0.0.1:8000melhor que 0.0.0.0:8000, então, ele só poderá ser acessado pela interface de loopback.
James Henstridge
verifique seu iptables

Respostas:

5

Como o @JamesHenstridge aponta, o comportamento que você está observando não é devido ao Ubuntu bloqueando seu aplicativo em alguns IPs, mas devido ao seu aplicativo explicitamente vincular apenas à interface de loopback local (127.xxx). Pelo menos, se você não instalou e configurou um firewall para bloquear especificamente essa porta.

Você precisa consultar a documentação do seu aplicativo para ver se há uma configuração para fazê-lo ouvir em outras (ou em todas) interfaces.

Sergey
fonte
Você também está familiarizado com o encaminhamento de porta no seu roteador? Se você deseja se conectar a ele pela Internet na porta 8000, precisará encaminhar a porta 8000 para o IP dessas máquinas.
precisa saber é o seguinte
0

Em um arquivo de configuração do seu aplicativo, você deve configurá-lo para ouvir um IP externo: yourport. Isso significa que existe um arquivo de configuração em que você pode encontrar uma diretiva solicitando que o aplicativo escute 127.0.0.1:xxxx ou localhost: xxxx Esse é o IP a ser alterado com um IP interno (por exemplo: 192.168.1.40) ou um IP externo

Às vezes, o IP do host local deve ser substituído por 0.0.0.0:xxxx, o que significa que o aplicativo deve responder a uma solicitação de qualquer IP.

Os iptables também podem ajudar a encaminhar pacotes de um IP interno para um IP externo.

Nicolas Guérinet
fonte