Servidores Avahi e Zeroconf encontrados por todos os aplicativos, mas não pelo Safari

Servidores Avahi e Zeroconf encontrados por todos os aplicativos, mas não pelo Safari

Eu tenho dois servidores em minha rede doméstica: o primeiro é um computador Linux baseado em Arm rodando em um kernel Debian 3.4.43 personalizado. O segundo é um Arduino com escudo Ethernet.

Instalei o avahi e o apache2 no servidor linux, instalei o apache mod-dnssd e configurei os seguintes serviços:

afpd.service:

<?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>

ssh.serviço:

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

e, depois que o apache mod_dnssd não fez o que eu queria, também o 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>

No Arduino, usei uma biblioteca para fazer o zeroconf. Não fornecerei detalhes, mas em princípio deveria anunciar um serviço semelhante ao http.service com o mesmo tipo e porta, mas com um nome diferente em um servidor diferente.

Até aí tudo bem, as seguintes coisas funcionam (com ou sem o serviço http anunciado):

  • Encontro o serviço afp no meu iMac Finder (OS X 10.9.1) e até mesmo o ícone correto do MacPro e posso me conectar a ele
  • Também posso fazer ssh com server1.local para o servidor Linux
  • Posso abrir os sites server1.local e server2.local com Firefox e Chrome
  • Também posso abrir esses sites nas URLs do meu iphone e iPad (Safari)

MAS: no meu iMac, no Safari 7.0.1

  • Encontro os serviços da web anunciados nos favoritos do Bonjour
  • Quando clico em um deles, o respectivo URL aparece na barra de endereço (com "ponto" à direita, mas ouvi dizer que está correto)
  • A página trava e depois de algum tempo aparece a mensagem "O Safari não consegue se conectar ao servidor"
  • O mesmo acontece quando digito manualmente server1.local na barra de endereço
  • Também encontro meu roteador na barra de favoritos do Bonjour, mas o Safari só consegue se conectar a ele quando removo o ponto final (meu palpite é que ele usa as informações de 'dns' do roteador em vez das mensagens unicast/multicast zeroconf)
  • Todos os sites funcionam quando digito o endereço IP na barra de endereços ou quando adiciono os servidores manualmente ao arquivo /etc/hosts no meu iMac

Quase parece que o Safari espera um tipo especial de http limpo ou alguma autorização, para poder se conectar ao serviço anunciado. Alguma idéia do que isso pode causar? Ou sou apenas cego e há uma caixa de seleção óbvia no Safari e/ou nas preferências de segurança que precisa ser marcada?

Parece ser muito exclusivo do Safari, já que os nomes são resolvidos corretamente no Chrome e no Firefox (e no terminal com ping, ssh etc., posso até fazer telnet para os servidores na porta 80)

Responder1

ok, então aqui vou eu respondendo minha própria pergunta. Tenho o antivírus Sophos instalado porque sou paranóico;) Vi algumas entradas de log não relacionadas ao serviço web no iMac. Para resumir a história, desabilitar o Web Protection no Sophos Anti Virus fez com que o fenômeno acima desaparecesse imediatamente...

informação relacionada