Серверы Avahi и Zeroconf обнаруживаются всеми приложениями, но не Safari

Серверы Avahi и Zeroconf обнаруживаются всеми приложениями, но не Safari

В моей домашней сети есть два сервера: первый — это компьютер на базе Linux на базе Arm, работающий на собственном ядре Debian 3.4.43, второй — Arduino с Ethernet-адаптером.

Я установил avahi и apache2 на сервер Linux, установил apache mod-dnssd и настроил следующие службы:

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>

ssh.сервис:

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

и, после того как apache mod_dnssd не сделал то, что мне нужно, также 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>

На Arduino я использовал библиотеку для zeroconf. Я не буду раскрывать подробности, но в принципе она должна рекламировать службу, похожую на http.service с тем же типом и портом, но с другим именем на другом сервере.

Пока все хорошо, работает следующее (с заявленным http-сервисом или без него):

  • Я нахожу службу afp на моем iMac Finder (OS X 10.9.1) и даже правильный значок MacPro, и я могу подключиться к нему.
  • Я также могу подключиться по ssh с server1.local к серверу Linux
  • Я могу открыть сайты server1.local и server2.local с помощью Firefox и Chrome.
  • Я также могу открыть эти веб-сайты по URL-адресам на моем iPhone и iPad (Safari)

НО: на моем iMac, в Safari 7.0.1

  • Я нахожу веб-сервисы, рекламируемые в избранном Bonjour
  • Когда я нажимаю на одну из них, в адресной строке появляется соответствующий URL (с точкой в ​​конце, но я слышал, что это правильно)
  • Страница зависает и через некоторое время появляется сообщение «Safari не может подключиться к серверу».
  • То же самое происходит, когда я вручную ввожу server1.local в адресную строку.
  • Я также нахожу свой маршрутизатор в панели избранного Bonjour, но Safari может подключиться к нему только после удаления конечной точки (я предполагаю, что тогда он использует информацию «dns» маршрутизатора, а не одноадресные/многоадресные сообщения zeroconf).
  • Все веб-сайты работают, когда я ввожу IP-адрес в адресную строку или когда я вручную добавляю серверы в файл /etc/hosts на моем iMac.

Похоже, что Safari ожидает особого рода чистый http или какую-то авторизацию, чтобы иметь возможность подключиться к рекламируемой службе. Есть идеи, что это может вызвать? Или я просто слепой и в Safari и/или настройках безопасности есть очевидный флажок, который нужно поставить?

Похоже, это уникально для Safari, так как имена корректно разрешаются в Chrome и Firefox (а в терминале с помощью ping, ssh и т. д. я даже могу подключиться к серверам через telnet на порту 80).

решение1

ok, так вот я и отвечаю на свой собственный вопрос. У меня установлен антивирус Sophos, потому что я параноик ;) Я увидел некоторые записи в журнале, которые на самом деле не связаны с веб-сервисом на iMac. Короче говоря, отключение веб-защиты в антивирусе Sophos заставило вышеуказанное явление исчезнуть, причем немедленно...

Связанный контент