En su Mac, inspeccione la dirección de escucha del servidor con lsof y luego, si es necesario, intente conectarse a la IP de Wi-Fi o Ethernet de su Mac desde otro dispositivo en la misma red. Una dirección de bucle invertido (loopback) como 127.0.0.1 o ::1 es solo local; una dirección comodín como 0.0.0.0 o :: puede aceptar conexiones a través de interfaces de red. Confirme la dirección real y pruebe el puerto específico antes de determinar el alcance del servidor.

1. Encuentre la dirección de escucha del servidor

Con el servidor de desarrollo en ejecución, abra Terminal y ejecute este comando, reemplazando 8000 por su puerto:

lsof -nP -iTCP:8000 -sTCP:LISTEN

lsof enumera los archivos abiertos, incluidos los sockets de red; su filtro de estado TCP permite seleccionar los que están a la escucha. Las opciones -nP mantienen las direcciones en formato numérico y evitan que los números de puerto se muestren como nombres de servicios. Manual de lsof de Apple

Mire la columna NAME. Un resultado que termine en 127.0.0.1:8000 (LISTEN) está vinculado a la dirección de bucle invertido IPv4. localhost:8000 también indica una escucha en bucle invertido, aunque el nombre mostrado puede variar. Un resultado que muestre *:8000 es una escucha comodín para esa familia de direcciones. Revise también la columna TYPE: las filas separadas para IPv4 e IPv6 pueden ser relevantes. ::1 es el bucle invertido IPv6; :: es el comodín IPv6. En algunos sistemas, un socket comodín IPv6 también puede aceptar conexiones IPv4, por lo que el listado por sí solo podría no resolver ese detalle.

Si el comando no devuelve nada, compruebe que el servidor aún se esté ejecutando, que haya utilizado su puerto actual y que escuche en TCP. Este comando no inspecciona sockets de escucha UDP. Si lsof no muestra ningún resultado sin permisos elevados, vuelva a ejecutarlo con sudo solo si necesita inspeccionar procesos pertenecientes a otra cuenta; es posible que macOS le solicite su contraseña de inicio de sesión.

2. Interprete la dirección como una pista de accesibilidad

Un socket de escucha vinculado a una dirección de bucle invertido específica acepta conexiones dirigidas a esa interfaz de bucle invertido, no a la dirección LAN de su Mac. Una dirección comodín significa que el socket no está restringido al bucle invertido, por lo que puede ser accesible a través de una interfaz de red. Apple describe un socket en escucha como aquel que espera conexiones entrantes. Información general de Apple sobre servidores basados en TCP

Un comodín no es una prueba de que otro dispositivo pueda conectarse. El servidor aún debe estar ejecutándose en ese puerto; la configuración del firewall de macOS, el aislamiento de clientes del router o Wi-Fi y otras condiciones de la red pueden afectar a la conexión. Por el contrario, una prueba exitosa en el navegador del Mac utilizando localhost solo demuestra que una conexión local funciona.

3. Pruebe el acceso desde otro dispositivo de su red

Obtenga la dirección del Mac correspondiente a la red que desea probar. En el caso de Wi-Fi, Apple documenta cómo consultar la dirección IP de la conexión en los ajustes de Wi-Fi o en el menú de estado de Wi-Fi; los controles exactos pueden variar según la versión de macOS. Guía de configuración de Wi-Fi de Apple

Desde un segundo dispositivo conectado a la misma LAN, abra un navegador o use un cliente HTTP para solicitar http://MAC-IP:8000, sustituyendo la dirección actual del Mac y el puerto del servidor. Por ejemplo, si la dirección LAN del Mac es 192.168.1.23 y el puerto es 8000, pruebe con http://192.168.1.23:8000. Si recibe respuesta, significa que este cliente alcanzó el servicio por esa ruta; un tiempo de espera agotado o un rechazo no identifican, por sí solos, la causa. Confirme que ambos dispositivos estén en la red correspondiente y vuelva a comprobar el socket de escucha antes de investigar la configuración del firewall o de la red.

4. Establezca explícitamente una vinculación solo local cuando sea compatible

El ajuste correcto corresponde al servidor de desarrollo, no a un interruptor universal de macOS. Por ejemplo, el módulo http.server de Python admite --bind; su documentación indica que por defecto se vincula a todas las interfaces, mientras que este comando se vincula al bucle invertido IPv4:

python3 -m http.server --bind 127.0.0.1 8000

Esto funciona si Python 3 está instalado. Python documenta tanto la opción de vinculación (bind) como su comportamiento predeterminado. Documentación de http.server de Python

Otras herramientas exponen sus propios parámetros de host o bind. Node.js documenta que omitir el host en server.listen() selecciona una dirección no especificada, con un comportamiento que depende de la disponibilidad de IPv6. Consulte la documentación de su servidor y versión; no dé por sentado que se aplica un parámetro de otro framework. Documentación de net.Server de Node.js Tras modificar la configuración, reinicie el servidor y repita la comprobación con lsof. Una prueba en LAN es útil cuando se pretende compartir el acceso, pero vincular a una dirección LAN o comodín puede exponer el servicio de desarrollo a otros dispositivos accesibles.

Fuentes