Conectar o dispositivo ao servidor localhost Mac? [fechadas]

99

Como posso permitir que qualquer dispositivo, por exemplo, iPhone, se conecte através de uma WLAN ao servidor localhost do meu Mac?

No meu Mac, estou executando um servidor HTTP Node.js "Hello World" que exibe uma página, que o Safari abre com sucesso, em http://localhost:1337. E, rodando ipconfig getifaddr en1em saídas de terminal 192.168.1.9.

Mas o Safari, tanto no iPhone quanto no Mac, exibe "O Safari não consegue se conectar ao servidor" quando tenta abrir http://192.168.1.9:1337.

Não acho que isso deva envolver o encaminhamento de porta porque só quero que o servidor HTTP esteja disponível de forma privada, não publicamente.

Relacionado:

ma11hew28
fonte
1
pergunta respondida aqui stackoverflow.com/questions/9304058/…
Andreas Norman
Fiquei surpreso por não ver uma resposta como esta, que funcionou para mim: stackoverflow.com/a/41857012/470749
Ryan

Respostas:

55

Eu tive o mesmo problema. Desliguei meu WI-FI em meu Mac e liguei novamente, o que resolveu o problema. Clique em Configurações> Desativar WI-FI.

Eu testei indo ao Safari no meu iPhone e digitando meu nome de host ou endereço IP. Por exemplo: http://<name>.localouhttp://10.0.1.5

johnnieb
fonte
estranhamente, isso funcionou para mim! Muito obrigado. Não consigo entender por quê.
Björn Grossmann
3
mais um para <name>.local- Chega de IPs estáticos para teste!
Adam Carter
Passei um dia inteiro tentando descobrir isso. Ligar / desligar o WiFi do meu Mac corrigiu o problema. Esquisito.
oif_vet
Alternar wi-fi do Mac também corrigiu para mim. Eu me pergunto se este é um problema do Mac ou do roteador, ou um problema do nodejs. Alguma ideia?
neoneye de
1
http: // <nome> .local funcionou para mim. Para expandir a resposta, o <name> do seu mac pode ser encontrado em System Preferences> Sharing . Abaixo do nome do seu computador: você pode encontrar os computadores da sua rede local que podem acessar o seu computador em: <name> .local
John Lay
42

Faça com que seu servidor ouça em 0.0.0.0vez de localhost.

ma11hew28
fonte
1
Ahhhh obrigado, isso funcionou para mim
aks.
1
Se você tiver problemas com as outras respostas, experimente!
Trent
5
Como alternativa, você pode especificar '0.0.0.0' para vincular diretamente ao ip local. Irá evitar problemas se você mudar de rede e não tiver o mesmo ip atribuído.
Cole Murray
Desculpe, mas como você "faz seu servidor ouvir" exatamente?
gmarais
@ColeMurray, desculpe pela resposta atrasada. Obrigado pela sua sugestão. Acabei de atualizar minha resposta.
ma11hew28
30

Só consegui acessar meu iphone usando http://name.local:1337. Você deve adicionar o ".local". Você pode encontrar o nome do seu computador em Preferências do Sistema / compartilhamento / "Nome do Computador".

moeamaya
fonte
Tentei usar o endereço IP com e sem firewall e muitas outras soluções sugeridas e esta é a única que funcionou. Estou executando um site localhost na porta 3000 com express usando node js.
lostAtSeaJoshua,
Você também pode encontrar seu "nome" digitando whoamino console.
Jadam
1
@Jadam Essa técnica não funciona para mim. Recebo dois nomes diferentes. Para uma situação de servidor local, o "Nome do computador" é o que funciona.
moeamaya
1
Para mim, nunca cheguei a lugar nenhum usando name.local, no entanto, usar o endereço IP real funcionou. Eu diria que soluciona os problemas usando endereços IP reais específicos, em oposição à conveniência de algo como name.local, que apenas adiciona outra camada de complicação.
MarsAndBack
1
Esta deve ser a resposta aceita. Não requer configuração adicional ou modificação no arquivo do servidor Node.js. @ ma11hew28
BenS
14

Tente habilitar o Compartilhamento de Internet:
Abra Preferências do Sistema -> Compartilhamento. Marque Compartilhamento de Internet para ativá-lo, ele solicitará que você confirme sua ação, selecione ok. Se o seu iPhone estiver conectado por USB, o USB do iPhone é verificado na lista "compartilhando sua conexão" no lado direito.
Depois disso, tente acessar seu servidor local usando o ip do macs em wi-fi.

maqbulh
fonte
9

Meu problema era o mesmo, mas a solução tinha a ver com a alteração de uma configuração de firewall. Descobriu-se que o nó foi configurado para bloquear o tráfego de entrada. Eu sabia que algo estava acontecendo porque eu costumava conseguir acessar meu servidor localhost do meu telefone.

Vá para Preferências do Sistema -> Segurança e Privacidade -> Firewall -> Opções do Firewall e role para baixo até encontrar o e certifique-se de que a configuração do nó esteja definida para Permitir conexões de entrada .

Depois de alterar a configuração, consegui acessar o servidor localhost (porta 3000) em execução no meu Mac acessando http://192.168.1.11:3000

David Rajcok
fonte
O firewall foi o único culpado. Tudo o resto estava bem.
mythicalcoder
oh garoto, você me salvou! obrigado!!
GoOlga
7

Eu resolvo um problema semelhante.

  • Mac e iPhone conectados ao mesmo Wi-Fi
  • mude a configuração de Wi-Fi do iPhone, configure o proxy http para manual e mude o servidor para o endereço IP do seu Mac e configure a porta. Minha porta é 80.

imagem um

imagem dois

  • você pode inserir http://<Mac ip>:<your customer server port>no safari do iPhone
HasjOH
fonte
5

Os usuários do MacOS Sierra podem encontrar sua URL personalizada gerada automaticamente acessando System Preferences > Sharinge verificando abaixo da entrada de texto Nome do computador. Para acessá-lo, insira este URL, mais o número da porta (por exemplo, seu-nome.local: 8000), no seu iPhone pela mesma conexão Wi-Fi do seu computador.

brogrammer
fonte
4
  1. Conecte seu iPhone ao Mac via USB.

  2. Vá para o Utilitário de Rede (cmd + espaço e digite "utilitário de rede")

  3. Vá para a guia "Informações"

  4. Clique no menu suspenso que diz "Wi-Fi" e selecione "iPhone USB" conforme mostrado aqui:

    Foto para a Etapa 4

  5. Você encontrará um endereço IP como "xxx.xxx.xx.xx" ou semelhante. Abra o navegador Safari em seu iPhone e digite IP_address: port_number

    Exemplo: 169.254.72.86:3000

[NOTA: Se o campo de endereço IP estiver em branco, certifique-se de que seu iPhone esteja conectado via USB, saia do Network Utility, abra-o novamente e verifique o endereço IP.]

Arjunkm
fonte
3

Sugiro usar o nome do computador, por exemplo http://mymac:1337/. Funciona perfeitamente para mim sem nenhuma configuração necessária e não tenho que me preocupar em alterar endereços IP devido ao DHCP.

Stiebitzhofer
fonte
3

certifique-se de que o telefone e a máquina mac estão conectados ao mesmo wi-fi e pronto para http://<machine-name>.local

Muhaimin
fonte
2

Conforme postado, segui a resposta de moeamaya, mas precisei modificá-la um pouco para ver meu trabalho no diretório de sites.

http://[name].local.~[username]/

[nome] é como já declarado (Preferências do sistema / compartilhamento / "Nome do computador")

[nome de usuário] é encontrado em:

/etc/apache2/users/username.conf

espero que isto ajude!

naiJenn
fonte
Onde posso encontrar o arquivo username.conf em um mac?
Batata
1
Olhe na sua pasta / Users na raiz @brumbrum
Alfred
1
Você também pode escrever whoamino terminal
Alfred
1

Tentei tudo nesta página, mas http://<name>.local:<PORT>só funcionou no meu iPhone depois que fechei e reiniciei o Safari ...

físicaAI
fonte
0

Sempre use o IP que é mostrado nas configurações de rede. Ele muda quando você muda de local e usa outra conexão sem fio.

Por exemplo, no meu caso agora é: 10.0.0.5

edgarascom
fonte
Você pode tentar, mas não funcionará em todas as circunstâncias. Você fez uma suposição que não vejo na pergunta sobre a configuração da rede.
fevereiro
Bem, essa suposição me ajudou a resolver meu problema semelhante ontem. Não consegui encontrar o IP para conectar. Os comandos do terminal não funcionaram. O que funcionou, foi o IP nas configurações de rede. (Estou executando o servidor local apache no mac)
edgarascom