¿Conectar el dispositivo al servidor localhost de Mac? [cerrado]

99

¿Cómo permito que cualquier dispositivo, por ejemplo, iPhone, se conecte a través de una WLAN al servidor localhost de mi Mac?

En mi Mac, estoy ejecutando un servidor HTTP Node.js "Hello World" que sirve una página, que Safari abre correctamente, en http://localhost:1337. Y, ejecutándose ipconfig getifaddr en1en salidas terminales 192.168.1.9.

Pero Safari, tanto en iPhone como en Mac, muestra "Safari no se puede conectar al servidor" cuando intenta abrir http://192.168.1.9:1337 .

No creo que esto deba implicar el reenvío de puertos porque solo quiero que el servidor HTTP esté disponible de forma privada, no pública.

Relacionado:

ma11hew28
fuente
1
pregunta respondida aquí stackoverflow.com/questions/9304058/…
Andreas Norman
Me sorprendió no ver una respuesta como esta, que funcionó para mí: stackoverflow.com/a/41857012/470749
Ryan

Respuestas:

55

Yo tuve el mismo problema. Apagué mi WI-FI en mi Mac y luego lo encendí nuevamente, lo que resolvió el problema. Haga clic en Configuración> Desactivar WI-FI.

Lo probé yendo a Safari en mi iPhone e ingresando mi nombre de host o dirección IP. Por ejemplo: http://<name>.localohttp://10.0.1.5

johnnieb
fuente
¡Curiosamente, esto funcionó para mí! Muchas gracias. No puedo entender por qué.
Björn Grossmann
3
más uno para <name>.local: ¡No más IP estáticas para probar!
Adam Carter
Pasé un día entero tratando de resolver esto. Activar / desactivar el WiFi de mi Mac lo solucionó. Extraño.
oif_vet
Alternar el wifi de Mac también lo solucionó para mí. Me pregunto si esto es un problema de Mac o un problema de enrutador, o un problema de nodejs. ¿Algunas ideas?
neoneye
1
http: // <nombre> .local funcionó para mí. Para ampliar la respuesta, puede encontrar el <nombre> de su mac en Preferencias del sistema> Compartir . Debajo del nombre de su computadora: puede encontrar Las computadoras en su red local pueden acceder a su computadora en: <nombre> .local
John Lay
42

Haga que su servidor escuche en 0.0.0.0lugar de localhost.

ma11hew28
fuente
1
Ahhhh gracias, esto funcionó para mí
aks.
1
Para cualquiera que tenga problemas con las otras respuestas, ¡pruébelo!
Trent
5
Alternativamente, puede especificar '0.0.0.0' para enlazar directamente a la ip local. Evitará problemas si cambia de red y no se le asigna la misma IP.
Cole Murray
Lo siento, pero ¿cómo "hacer que su servidor escuche" exactamente?
gmarais
@ColeMurray, perdón por la demora en la respuesta. Gracias por su sugerencia. Acabo de actualizar mi respuesta.
ma11hew28
30

Solo pude acceder a mi iPhone usando http://name.local:1337. Debe agregar el ".local". Puede encontrar el nombre de su computadora en Preferencias del sistema / compartir / "Nombre de la computadora".

moeamaya
fuente
Intenté usar la dirección IP con y sin firewall y muchas otras soluciones sugeridas y esta es la única que funcionó. Estoy ejecutando un sitio localhost en el puerto 3000 con express usando node js.
lostAtSeaJoshua
También puede encontrar su "nombre" escribiendo whoamien la consola.
Jadam
1
@Jadam Esta técnica no me funciona. Recibo dos nombres diferentes. Para una situación de servidor local, el "Nombre del equipo" es el que funciona.
moeamaya
1
Para mí, nunca llegué a ningún lado usando name.local, sin embargo, usar la dirección IP real funcionó. Yo diría que solucione problemas utilizando direcciones IP reales específicas en lugar de la conveniencia de algo como name.local, que solo agrega otra capa de complicación.
MarsAndBack
1
Esta debería ser la respuesta aceptada. No requiere ninguna configuración o modificación adicional en el archivo del servidor Node.js actual. @ ma11hew28
BenS
14

Intente habilitar Compartir Internet:
Abra Preferencias del sistema -> Compartir. Marque Compartir Internet para activarlo, le pedirá que confirme su acción, seleccione Aceptar. Si su iPhone está conectado mediante USB, el iPhone USB se marca en la lista "compartir su conexión" en el lado derecho.
Después de esto, intente acceder a su servidor local usando la ip de su Mac en wifi.

maqbulh
fuente
9

Mi problema era el mismo, pero la solución tenía que ver con cambiar la configuración del firewall. Resultó que el nodo estaba configurado para bloquear el tráfico entrante. Sabía que algo estaba pasando porque solía poder acceder a mi servidor localhost desde mi teléfono.

Vaya a Preferencias del sistema -> Seguridad y privacidad -> Cortafuegos -> Opciones de cortafuegos , y luego desplácese hacia abajo hasta encontrar el nodo y asegúrese de que la configuración del nodo esté configurada en Permitir conexiones entrantes .

Después de cambiar la configuración, pude acceder al servidor localhost (puerto 3000) que se ejecuta en mi Mac yendo a http://192.168.1.11:3000

David Rajcok
fuente
Firewall fue el único culpable. Todo lo demás estuvo bien.
mythicalcoder
oh chico, me salvaste! ¡¡Gracias!!
GoOlga
7

Resuelvo un problema similar.

  • conectado Mac y iPhone al mismo Wi-Fi
  • cambie la configuración de Wi-Fi del iPhone, configure el proxy http en manual y cambie el servidor a su dirección IP de Mac y configure el puerto. Mi puerto es 80.

imagen uno

imagen dos

  • puedes ingresar http://<Mac ip>:<your customer server port>en el safari de iPhone
HasjOH
fuente
5

Los usuarios de MacOS Sierra pueden encontrar su URL personalizada generada automáticamente yendo System Preferences > Sharingy marcando debajo de la entrada de texto Computer Name. Para acceder a él, ingrese esta URL, más su número de puerto (por ejemplo, su-nombre.local: 8000), en su iPhone a través de la misma conexión Wi-Fi que su computadora.

brogrammer
fuente
4
  1. Conecte su iPhone a su Mac a través de USB.

  2. Vaya a Utilidad de red (cmd + espacio y escriba "utilidad de red")

  3. Ve a la pestaña "Información"

  4. Haga clic en el menú desplegable que dice "Wi-Fi" y seleccione "iPhone USB" como se muestra aquí:

    Foto del paso 4

  5. Encontrarás una dirección IP como "xxx.xxx.xx.xx" o similar. Abra el navegador Safari en su iPhone e ingrese dirección_IP: número_puerto

    Ejemplo: 169.254.72.86:3000

[NOTA: Si el campo de la dirección IP está en blanco, asegúrese de que su iPhone esté conectado a través de USB, salga de Network Utility, ábralo nuevamente y verifique la dirección IP.]

arjunkm
fuente
3

Sugiero usar el nombre de la computadora, por ejemplo http://mymac:1337/. Funciona para mí perfecto sin ninguna configuración requerida y no tengo que preocuparme por cambiar las direcciones IP debido a DHCP.

stiebitzhofer
fuente
3

asegúrese de que su teléfono y la máquina mac estén conectados al mismo wifi y esté listo para ir a su http://<machine-name>.local

Muhaimin
fuente
2

Como se publicó, seguí la respuesta de moeamaya, pero necesitaba modificarla solo un poco para ver mi trabajo en el directorio de Sitios.

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

[nombre] es como ya se indicó (Preferencias del sistema / compartir / "Nombre de la computadora")

[nombre de usuario] se encuentra en:

/etc/apache2/users/username.conf

¡espero que esto ayude!

naiJenn
fuente
¿Dónde puedo encontrar el archivo username.conf en una Mac?
papa
1
Busque en su carpeta / Users en la raíz @brumbrum
Alfred
1
También puede escribir whoamien la terminal
Alfred
1

Probé todo en esta página, pero http://<name>.local:<PORT>solo funcionó en mi iPhone después de salir y reiniciar Safari ...

físicaAI
fuente
0

Utilice siempre la IP que se muestra en la configuración de su red. Cambia cuando cambia de ubicación y usa otra conexión inalámbrica.

Por ejemplo, en mi caso ahora es: 10.0.0.5

edgarascom
fuente
Puede intentarlo, pero no funcionará en todas las circunstancias. Ha hecho una suposición que no veo en la pregunta sobre la configuración de la red.
benc
Bueno, esta suposición me ayudó a resolver un problema similar ayer. No pude encontrar la IP para conectarme. Los comandos de la terminal no funcionaron. Lo que funcionó fue la IP en la configuración de red. (Estoy ejecutando el servidor local apache en mac)
edgarascom