Quiero conectarme a mi servidor web local (servidor NodeJS) que se ejecuta en mi MacBook con mi iPhone.
En mi Mac puedo acceder al servidor a través de http://localhost:3000/
. Ahora todo lo que debería tomar es reemplazar localhost con la dirección IP local de mi Mac de esta manera http://192.168.0.13:3000/
. Sin embargo, en mi iPhone no puedo acceder al servidor de esta manera e incluso cuando intento abrir http://192.168.0.13:3000/
en mi Mac no se establece ninguna conexión.
Este es definitivamente un problema con mi Mac y no con mi programa porque cuando ejecuto el servidor en Windows e intento conectarme con la dirección IP local, funciona bien.
También probar esto en otra red Wi-Fi no ayuda o cambiar el puerto tampoco cambia nada.
Estoy usando Mac OSX 10.11.5 y mi firewall está desactivado.
¿Como puedó resolver esté problema?
Tablas de enrutamiento ( netstat -r
)
(Eliminado)
Por lo que puedo decir, el comportamiento es correcto. Un servidor web de nodo básico usa dns.js para resolver cualquier nombre de host, que a su vez usa el método de resolución de DNS del sistema.
El respondedor mDNS de OS X no puede resolver un nombre de host "127.0.0.1" ni "localhost" (ni inverso ni inverso).
Entonces, use la IP de su Mac (es decir, 192.168.0.13) o su nombre de host (por ejemplo, tims-macbook-pro) como nombre de host. Para anunciar el servicio en Bonjour tienes que usar dns-sd .
O cree varias direcciones IP de escucha como en estas preguntas y respuestas .
http.createServer(handler).listen
parte y los detalles de configuración de MAMP.ssh Tim@localhost
funciona bien, mientras que ssh Tim@192.168.0.13
me da el siguiente error:ssh_exchange_identification: Connection closed by remote host
/etc/hosts.deny
no /etc/hosts.allow
existen. Después de eliminar todo el ~/.ssh/known_hosts
archivo, ssh sigue sin funcionar y me da el mismo error. El archivo ~/.ssh/authorized_keys
tampoco sale.sudo netstat -a
. ¿Tiene esto algo que decir?nmap 127.0.0.1
y nmap 192.168.0.13
. Luego elija sudo lsof | grep LISTEN
y/o sudo netstat -a | grep LISTEN
. ¿Qué "servidor" mencionas en tu comentario? nodo-http, apache-http/https?nmap 192.168.0.13
me da el siguiente resultado: PORT STATE SERVICE 22/tcp open ssh 3000/tcp open ppp 8888/tcp open sun-answerbook
los puertos 3000 y 8888 son para mis servidores, pero extrañamente no puedo acceder a algunos a través de la IP localnetstat -r
. IPv6 no es necesario aquí.sudo ifconfig awdl0 down
. Probablemente necesitaría tener acceso al sistema para resolver el problema...Puede resolver este problema de tres maneras:
Intente agregar su dirección IP local en httpd.conf (/etc/apache2/httpd.conf) como se muestra a continuación:
Listen 12.34.56.78:80
Escuchar: le permite vincular Apache a direcciones IP y/o puertos específicos, en lugar del valor predeterminado.
Guarde, cierre y reinicie apache con sudo apachectl restart
.
bmike
bmike
Ryan
HansMu158
Obromios
myname
el nombre de la máquina que ejecuta el servidor.