¿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:



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


¡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.


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".


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.


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


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

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.


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.]


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.


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


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!


¿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 ...


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


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.