我遇到了一個非常奇怪的 Mac 問題:Safari 無法連接到本地主機,而所有其他應用程式可以正常連接(Firefox、Chrome、ping 等)。
我的 /etc/hosts 是標準設定:
$ egrep localhost /etc/hosts
# localhost is used to configure the loopback interface
127.0.0.1 localhost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 testing.localhost
問題:有其他人遇到過這種情況嗎?可能是什麼問題呢?
更新#1:我有一個伺服器在 localhost:8080 上運行。從 Safari 存取時,我收到錯誤訊息「Safari 無法連接到伺服器」。 」http://本地主機:8080/" 在 Firefox 和 Chrome 中完美運作。
更新#2:同樣的問題“http://127.0.0.1:8080/" - 所以它似乎與將 localhost 解析為 127.0.0.1 無關。
答案1
我認為根據您的問題我們需要更多資訊。
我猜你有一個正在運行的網頁伺服器來接受請求?我目前沒有,Safari 也不會連接到 127.0.0.1,因為它「找不到 127.0.0.1」——儘管我可以正常 ping 通它。
所以首先,你需要運行一些東西。其次,您是否嘗試過使用 Safari 連線到testing.localhost,以防這兩個條目使 Safari 感到困惑(這是完全有可能的)。
當您對 Chrome 和 Firefox 說“應用程式可以正常連接”時,您看到了什麼?您期望看到的網頁?不同的錯誤?
編輯
我下載並安裝了 MAMP,但無法重現此錯誤。
一些論壇主題表明 IPv6 解析是導致此問題的原因。我傾向於關閉 IPv6 並從主機檔案中刪除該條目(暫時僅用於測試)
- 蘋果選單 > 系統偏好設定
- 網路
- 選擇您的網路連線 > 高級
- 配置 IPv6 > 關閉
應用,重新啟動,看看效果如何。
答案2
我以前也遇到過這種情況——使用http://電腦名稱.local/為我工作,但我不確定為什麼它會與僅在主機文件中使用名稱不同。
答案3
註解掉該行:
::1 localhost
來自您的 /etc/hosts 檔案。顯然這是由 Safari 中的 IPv6 支援引起的。