Eu não sou o cara mais experiente de todos os tempos, mas aqui vai ...
Criei um aplicativo com o NodeJS e gostaria de testar o aplicativo na minha LAN com minha família. A aplicação escuta na porta 1337
para conexões e eu posso acessar a multa aplicação através do meu próprio PC, digitando localhost:1337
, 192.168.0.3:1337
ou até mesmo http://joel-pc:1337/
na barra de endereços do meu navegador.
Também estarei executando o apache ao lado do NodeJS e posso acessar essa multa digitando 192.168.0.3
ou http://joel-pc/
na barra de endereços do navegador, desde que esteja conectada à mesma rede.
Agora aqui está a parte estranha; Se eu parar o serviço apache, mudar a minha candidatura nó para escutar na porta 80
(http) insted de 1337
, será acessível no meu pc, digitando localhost
, 192.168.0.3
ou até mesmo http://joel-pc
na barra de endereços do meu navegador. No entanto, ainda não consigo acessar o NodeJS em nenhum outro PC da minha rede além do meu.
Tentei criar uma regra de saída no Windows 7 para permitir o acesso à porta 1337, mas ainda não consigo acessar o servidor NodeJS em nenhum outro PC que não seja o meu, mesmo que esteja escutando na porta 80. Existe algo óbvio Estou perdendo aqui?
fonte
Respostas:
Provavelmente, seu aplicativo de nó está vinculando-se ao endereço IP de auto-retorno em
127.0.0.1
vez dos "todos os IPs",0.0.0.0
pois esse é o comportamento padrão delisten
. Especifique a porta e o IP na sua chamadaserver.listen(80, '0.0.0.0');
e tente novamente.fonte
localhost
funciona como uma string, mas em outros você tem que digitá-lo como127.0.0.1
Obtenha seu IP da rede local atual e execute o servidor http assim:
fonte
Primeiro, você precisa adicionar
C:\Program Files (x86)\node
à lista de aplicativos confiáveis no seu firewall.Em seguida, no aplicativo do nó, você pode escrever:
ou:
ou:
ou:
ou:
ou:
Cada uma dessas 6 combinações funciona no meu caso: node.js no Windows Server 2016, protegido por um proxy da empresa.
fonte
Encontrei uma boa solução para esse problema. Em vez de fazer todas as configurações (configuração de firewall, porta de encaminhamento etc.), usei o localtunnel, um utilitário para expor o servidor do nó local pela Internet. Você pode usá-lo para desenvolvimento, teste, compartilhamento de propósitos, apenas não o use para produção.
Primeiro você precisa instalar o localtunnel da seguinte maneira:
Depois disso, configure o aplicativo do nó para que o servidor do nó esteja em execução no host local. Por exemplo:
Anote your_port, que no meu caso era 3000 , e inicie o servidor do nó.
Abra outro terminal e digite o seguinte comando para executar o localtunnel.
Depois disso, no terminal, você receberá uma URL que poderá ser usada para fins de desenvolvimento / teste. Este URL estará disponível na Internet para que você possa compartilhá-lo com outras pessoas também. Enquanto seu túnel local estiver em execução, outras pessoas poderão acessar o servidor do nó local.
Para obter mais opções de configuração / ajuda, consulte a documentação: https://www.npmjs.com/package/localtunnel
fonte
Fazer o seguinte funcionou para mim em um PC com Windows. Experimente o seguinte: open
Em seguida, procure o node.js na lista e clique em alterar configurações> Verifique se o acesso privado está marcado e clique em ok.
fonte