錯誤訊息

Mac 上的「找不到具有指定主機名稱的伺服器。」

這是 macOS 對錯誤 -1003 顯示的文字。Mac 無法把伺服器名稱轉換成位址:可能是 DNS 失敗,或這個名稱根本不存在。

適用於:所有目前的 macOS 版本。文字已在 macOS 27.2 上核對。檢查日期:2026年10月29日

症狀

  • App 顯示「找不到具有指定主機名稱的伺服器。」(英文:A server with the specified hostname could not be found.)
  • App 可能會顯示 NSURLErrorDomain 和 -1003。
  • 對同一個名稱,Safari 顯示「Safari 找不到伺服器」。

可能原因

  • 沒有網際網路連線。沒有連線,任何名稱都無法解析。
  • DNS 問題。DNS 伺服器沒有回應,或查不到這個名稱。
  • VPN 使用自己的 DNS。公司網路內部的名稱只能透過公司的 DNS 解析。請參閱連上 VPN 時無法解析內部名稱。
  • 名稱不存在。打錯字,或伺服器已被移除。
  • DNS 過濾器。有些 DNS 服務和過濾器會對被封鎖的名稱回應「不存在」。

如何檢查

  1. 透過 macOS 解析器查詢名稱。如果沒有出現位址行,就表示查詢失敗。

    dscacheutil -q host -a name example.com
  2. 直接詢問公共 DNS 伺服器。如果這裡有回應、上一步卻沒有,問題就在你的 DNS 設定。

    dig +short example.com @1.1.1.1
  3. 顯示 Mac 目前使用的 DNS 伺服器。

    scutil --dns
  4. ping 網際網路上的某個位址。這項測試不會用到 DNS。

    ping -c 5 1.1.1.1

如何修正

  1. 如果 ping 得通但查詢失敗,就是要修正 DNS。請參閱Mac 上的 DNS 無法解析。

  2. 清除 DNS 快取,然後再試一次。請參閱清除 Mac 上的 DNS 快取。

  3. 如果是公司內部名稱,請先連上 VPN。

  4. 如果是 DNS 過濾器阻擋了這個名稱,請在過濾器中允許它。

使用 Kilobat

  1. Kilobat 的連線診斷會逐層測試名稱:網路、代理伺服器、DNS、規則、IPv4、IPv6、TLS 和伺服器,並指出是哪一層失敗。

    kilobat why example.com
  2. 查看 DNS 伺服器,或暫時改用公用 DNS 服務測試。更改需要管理者密碼。

    kilobat dns
  3. 這些 Kilobat 檢查都是免費的。AI 代理程式可透過 MCP 以 diagnose_connection 和 diagnose_network 執行。請參閱找出某個網站或 API 連不上的原因。

常見問題

NSURLErrorDomain -1003 是什麼?

這是 Apple URL Loading System 的 cannotFindHost 錯誤。Apple 的說明是:無法解析主機名稱。

資料來源

資料來源檢查日期:2026年10月29日。man 頁面為 macOS 內建版本;在終端機中用 man <name> 開啟。