0 votos

Resolución inconsistente de "localhost" macOS Sonoma 14.4.1

Espero que localhost se resuelva a 127.0.0.1, pero recibo NXDOMAIN. Los comandos dig y host también devuelven resolución fallida de DNS. ¿Por qué debería localhost ir a DNS?

nslookup localhost
Servidor:     8.8.8.8
Dirección:    8.8.8.8#53

** el servidor no puede encontrar localhost: NXDOMAIN

Usar el resolver de macOS produce el resultado esperado:

dscacheutil -q host -a name localhost
nombre: localhost
dirección ipv6: ::1

nombre: localhost
dirección ip: 127.0.0.1

Ping localhost funciona. También funciona traceroute:

PING localhost (127.0.0.1): 56 bytes de datos
64 bytes desde 127.0.0.1: icmp_seq=0 ttl=64 tiempo=0.073 ms
64 bytes desde 127.0.0.1: icmp_seq=1 ttl=64 tiempo=0.127 ms
64 bytes desde 127.0.0.1: icmp_seq=2 ttl=64 tiempo=0.110 ms
^C
--- estadísticas de ping de localhost ---
3 paquetes transmitidos, 3 paquetes recibidos, 0.0% de pérdida de paquetes
tiempo de ida y vuelta min/avg/max/stddev = 0.073/0.103/0.127/0.023 ms

traceroute a localhost (127.0.0.1), 64 saltos máximos, 40 bytes de paquetes
 1  localhost (127.0.0.1)  0.371 ms  0.078 ms  0.059 ms

usar curl para http://localhost:5000 no devuelve nada, ni siquiera un error. Usar curl http://127.0.0.1:5000 se conecta como se espera. curl a una dirección que no se resuelve resulta en un error de resolución. curl a http://localhost resulta en un:

error "no se pudo conectar al puerto 80".

curl http://127.0.0.1:5000
¡Hola, Mundo!% 

curl http://sdfjasldkfjsalkdfj.com
curl: (6) No se pudo resolver el host: sdfjasldkfjsalkdfj.com

curl http://localhost
curl: (7) Error al conectar al puerto 80 de localhost después de 0 ms: No se pudo conectar al servidor

Para constancia, /etc/hosts y /private/etc/hosts son idénticos como se muestra aquí:

##
# Base de datos de host
#
# localhost se utiliza para configurar la interfaz de bucle local
# cuando el sistema se está iniciando. No cambie esta entrada.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost

Por qué me preocupa esto: Estoy desarrollando una aplicación Flask en un devcontainer usando VSCode. Cuando configuro el reenvío de puertos para el puerto 5000 desde el devcontainer a mi máquina local, VSCode construye URI en forma de http://localhost:5000 que no funcionan ni en safari ni en Firefox, ni en el "navegador simple" de VSCode porque localhost no se resuelve. Tengo que cambiarlo a http://127.0.0.1:5000.

No he descubierto una forma de hacer que VSCode construya URI utilizando la dirección IP de bucle local en su lugar.

¿Qué está pasando con esto?

-1voto

moobini Puntos 1

MacOS Sonoma tiene un servicio de "receptor de Airplay" que ya está escuchando en el puerto 5000, interfiriendo así con el reenvío de puertos en VSCode.

Encontré la respuesta aquí: https://blog.yimingliu.com/2023/01/01/cannot-connect-to-flask-development-server-on-localhost-port-5000

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X