networking – Gran retraso al contactar con el servicio en localhost usando la entrada / etc / hosts

Pregunta:

Tengo un servidor web ejecutándose en mi máquina local y cuando realizo una solicitud cURL contra él usando la dirección localhost , se ejecuta muy rápido. Sin embargo, cuando agrego un / etc / hosts como

127.0.0.1 test.local

y luego realice la misma solicitud cURL:

curl -I http://test.local:3002/images/logo.png

se demora unos 2-3 segundos sólidos. Cambiar la solicitud cURL de nuevo a localhost nuevamente no produce demora.

Esto es reproducible cada vez.

Intenté ejecutar la solicitud lenta en dtruss para ver si puedo encontrar una llamada al sistema que esté causando el retraso. No aparece nada fuera de lo común.

Intenté hacer un servicio ficticio a través de netcat que solo devuelve HTTP/1.0 200 OK para poder garantizar que el problema no se debe realmente a mi servidor web. Nuevamente, no hay diferencia: localhost es rápido como cabría esperar y demora en test.local .

En este punto, creo que de alguna manera hay un problema de DNS. Es decir, NO se consulta /etc/hosts primero, es decir, se comprueba mi DNS ascendente, lo que falla, luego se consulta /etc/hosts que finalmente funciona.

es posible? ¿ OS X Lion consultando de alguna manera mi /etc/hosts más adelante en la cadena de resolución?

Respuesta:

Ok, lo descubrí. Encontré este comentario en una publicación de blog:

El asunto es que Lion maneja los TLD .local de manera diferente porque está reservado para algunas funciones de DNS de multidifusión (utilizadas por Bonjour). La única forma que encontré para resolver este problema es usando un TLD diferente para los hosts de desarrollo (es decir: .dev). Funciona bien para mí, ¡espero que sea útil para otros!

Cambiar mi dominio de desarrollo para que termine en .dev funciona bien.

tl; dr: no use .local para dominios de desarrollo en Lion.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım