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!
netstat -tln | grep 8000
pode lançar alguma luz sobre o problema. Se o endereço local do servidor for127.0.0.1:8000
melhor que0.0.0.0:8000
, então, ele só poderá ser acessado pela interface de loopback.Respostas:
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.
fonte
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.
fonte