Servidores Avahi y Zeroconf encontrados por todas las aplicaciones, pero no por Safari

Servidores Avahi y Zeroconf encontrados por todas las aplicaciones, pero no por Safari

Tengo dos servidores en mi red doméstica: el primero es una computadora Linux basada en Arm que se ejecuta en un kernel Debian 3.4.43 personalizado. El segundo es un Arduino con un escudo Ethernet.

Instalé avahi y apache2 en el servidor Linux, instalé apache mod-dnssd y configuré los siguientes servicios:

servicio.afpd:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
    <name replace-wildcards="yes">%h</name>
    <service>
        <type>_afpovertcp._tcp</type>
        <port>548</port>
    </service>
    <service>
        <type>_device-info._tcp</type>
        <port>0</port>
        <txt-record>model=MacPro</txt-record>
    </service>
</service-group>

servicio ssh:

<service-group>    
  <name replace-wildcards="yes">%h</name>    
  <service>
    <type>_ssh._tcp</type>
    <port>22</port>
  </service>    
</service-group>

y, después de que apache mod_dnssd no hiciera lo que quería, también el http.service:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name>Cubie Remote</name> ## Name of the service
  <service>
    <type>_http._tcp</type>
    <port>80</port>
  </service>
</service-group>

En Arduino, utilicé una biblioteca para hacer zeroconf. No proporcionaré los detalles, pero en principio debería anunciar un servicio similar al http.service con el mismo tipo y puerto pero con un nombre diferente en un servidor diferente.

Hasta ahora todo bien, las siguientes cosas funcionan (con o sin el servicio http anunciado):

  • Encuentro el servicio afp en mi iMac Finder (OS X 10.9.1) e incluso el ícono correcto de MacPro y puedo conectarme a él.
  • También puedo enviar ssh con server1.local al servidor Linux
  • Puedo abrir los sitios web server1.local y server2.local con Firefox y Chrome
  • También puedo abrir esos sitios web en las URL de mi iPhone y iPad (Safari)

PERO: en mi iMac, en Safari 7.0.1

  • Encuentro los servicios web anunciados en los favoritos de Bonjour
  • Cuando hago clic en uno de ellos, la URL respectiva aparece en la barra de direcciones (con un "punto" al final, pero escuché que es correcto)
  • La página se bloquea y después de un tiempo aparece el mensaje "Safari no puede conectarse al servidor".
  • Lo mismo sucede cuando escribo manualmente server1.local en la barra de direcciones
  • También encuentro mi enrutador en la barra de favoritos de Bonjour, pero Safari solo puede conectarse a él cuando elimino el punto final (supongo que luego usa la información 'dns' del enrutador en lugar de los mensajes zeroconf de unidifusión/multidifusión)
  • Todos los sitios web funcionan cuando escribo la dirección IP en la barra de direcciones o cuando agrego los servidores manualmente al archivo /etc/hosts en mi iMac.

Casi parece como si Safari esperara un tipo especial de http limpio o alguna autorización para poder conectarse al servicio anunciado. ¿Alguna idea de lo que esto puede causar? ¿O simplemente estoy ciego y hay una casilla de verificación obvia en Safari y/o en las preferencias de seguridad que debo marcar?

Sin embargo, parece ser muy exclusivo de Safari, ya que los nombres se resuelven correctamente en Chrome y Firefox (y en la terminal con ping, ssh, etc., incluso puedo hacer telnet a los servidores en el puerto 80).

Respuesta1

Bien, aquí voy respondiendo mi propia pregunta. Tengo instalado el antivirus Sophos porque estoy paranoico;) Vi algunas entradas de registro que no están realmente relacionadas con el servicio web en el iMac. Para abreviar la historia, deshabilitar la Protección Web en Sophos Anti Virus hizo que el fenómeno anterior desapareciera de inmediato...

información relacionada