Avahi 및 Zeroconf 서버는 모든 애플리케이션에서 발견되지만 Safari에서는 발견되지 않음

Avahi 및 Zeroconf 서버는 모든 애플리케이션에서 발견되지만 Safari에서는 발견되지 않음

내 홈 네트워크에는 두 개의 서버가 있습니다. 첫 번째는 맞춤형 Debian 3.4.43 커널에서 실행되는 Arm 기반 Linux 컴퓨터입니다. 두 번째는 이더넷 쉴드가 있는 Arduino입니다.

Linux 서버에 avahi와 apache2를 설치하고 apache mod-dnssd를 설치하고 다음 서비스를 구성했습니다.

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.서비스:

<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 서비스 유무에 관계없이).

  • 내 iMac Finder(OS X 10.9.1)에서 afp 서비스를 찾고 올바른 MacPro 아이콘까지 찾아서 연결할 수 있습니다.
  • server1.local을 사용하여 Linux 서버에 SSH로 연결할 수도 있습니다.
  • Firefox 및 Chrome을 사용하여 웹사이트 server1.local 및 server2.local을 열 수 있습니다.
  • 내 iPhone 및 iPad(Safari)의 URL 아래에서 해당 웹사이트를 열 수도 있습니다.

하지만: 내 iMac의 경우 Safari 7.0.1에서

  • Bonjour 즐겨찾기에 광고된 웹 서비스가 있습니다.
  • 그 중 하나를 클릭하면 해당 URL이 주소 표시줄에 나타납니다(뒤에 "점"이 표시되지만 그게 맞다고 들었습니다).
  • 페이지가 멈추고 잠시 후 "Safari가 서버에 연결할 수 없습니다"라는 메시지가 나타납니다.
  • 주소 표시줄에 server1.local을 수동으로 입력해도 같은 현상이 발생합니다.
  • 또한 Bonjour 즐겨찾기 표시줄에서 라우터를 찾았지만 Safari는 후행 점을 제거해야만 라우터에 연결할 수 있습니다(제 생각에는 유니캐스트/멀티캐스트 zeroconf 메시지 대신 라우터의 'dns' 정보를 사용하는 것 같습니다).
  • 주소 표시줄에 IP 주소를 입력하거나 iMac의 /etc/hosts 파일에 서버를 수동으로 추가하면 모든 웹 사이트가 작동합니다.

Safari는 광고된 서비스에 연결하기 위해 특별한 종류의 깨끗한 http 또는 일부 인증을 기대하는 것처럼 보입니다. 이것이 어떤 원인이 될 수 있는지 어떤 아이디어가 있습니까? 아니면 제가 시각 장애가 있어서 Safari 및/또는 보안 기본 설정에 체크해야 하는 체크박스가 있는 걸까요?

하지만 Chrome 및 Firefox에서 이름이 올바르게 확인되므로 Safari에서는 매우 독특한 것 같습니다(그리고 ping, ssh 등이 있는 터미널에서는 포트 80의 서버에 텔넷을 연결할 수도 있습니다).

답변1

좋아요, 이제 제 질문에 답하겠습니다. 편집증이 있어서 Sophos 안티 바이러스를 설치했습니다. ;) iMac의 웹 서비스와 실제로 관련이 없는 일부 로그 항목을 보았습니다. 간단히 말해서 Sophos Anti Virus에서 웹 보호를 비활성화하면 위 현상이 즉시 사라졌습니다.

관련 정보