¿Por qué Yosemite Safari nunca se agota al intentar ir a *.local?

En la versión del navegador web Safari que se incluye con Mac OS Yosemite, intentar ir a cualquier sitio web cuyo nombre de host termine en ".local" hará que el navegador se quede allí para siempre esperando una respuesta, sin que se agote el tiempo. Por ejemplo, " http://foobar.local " o " https://baz.qux.local ". Lo mismo sucede cuando se ejecuta Safari en el simulador de iOS en una Mac (pero en un dispositivo iOS real, la solicitud se agota correctamente).

Solo tengo curiosidad, ¿por qué es esto? ¿Es probable que sea un error de Safari o un problema de red en Yosemite que podría solucionar editando algún archivo de configuración?

Estoy trabajando en un sitio web que usa diferentes URL para los medios, y cuando ejecuto el sitio localmente (para desarrollo) usamos nombres de host .local para los sitios de medios, que solían funcionar bien siempre que /etc/hosts señalara estos nombres de host a 127.0.0.1. Pero ahora bajo Yosemite está provocando que estas solicitudes se cuelguen. Antes de actualizar las URL en nuestro código y decirle a todos nuestros desarrolladores que actualicen su archivo de hosts con nuevos nombres de host, quería ver si podría haber una solución más simple.

Respuestas (1)

Supongo que es porque buscar un nombre de host .local es básicamente una solicitud de navegación para los servicios de Bonjour; los dispositivos y servicios se registran a sí mismos a través de multidifusión, por lo que dado que foobar.local no apunta a ninguna IP (a menos que usted la cree), es probable que Safari nunca llegue a la etapa de probar la accesibilidad de un sitio.

En su situación, preferiría a) configurar un servidor DNS simple para redirigir las solicitudes o b) anunciar sus servicios a través de dns-sd:

dns-sd -P Webservice _http._tcp local 80 foobar.local 127.0.0.1 path=/webservicename

Esto debería anunciar un sitio web proxy dentro de su red con el nombre "Webservice" para el nombre de host foobar.local al que se puede acceder en http://127.0.0.1/webservicename

Sin embargo, es interesante que solo Safari se atasque en los dominios locales. En una terminal, "host foobar.local" falla inmediatamente porque no se puede resolver.
@BrianKendig Sí, tampoco creo que este comportamiento en Safari sea útil, tal vez debería considerar presentar un informe de error con Apple