Safari 无法访问本地主机(127.0.0.1)

Safari 无法访问本地主机(127.0.0.1)

我遇到了一个非常奇怪的 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

我认为根据您的问题我们需要更多信息。

我猜你有一个正在运行的 Web 服务器来接受请求?我目前没有,Safari 无法连接到 127.0.0.1,因为它“找不到 127.0.0.1”——尽管我可以正常 ping 它。

因此,首先,您需要运行某些程序。其次,您是否尝试过使用 Safari 连接到 testing.localhost,以防这两个条目让 Safari 感到困惑(这是完全有可能的)。

当您说“应用程序可以正常连接”Chrome 和 Firefox 时,您看到的是什么?您期望看到的网页?不同的错误?

编辑

我下载并安装了 MAMP,但无法重现此错误。

一些论坛帖子表明 IPv6 解析导致了此问题。我倾向于关闭 IPv6 并从 hosts 文件中删除该条目(暂时仅用于测试)

  1. 苹果菜单 > 系统偏好设置
  2. 网络
  3. 选择“网络连接”>“高级”
  4. 配置 IPv6 > 关闭

应用、重新启动并查看进展如何。

答案2

我以前也遇到过这种情况——使用http://计算机名.local/对我有用,但我不确定为什么它与仅在​​主机文件中使用名称不同。

答案3

注释掉以下行:

::1         localhost 

从 /etc/hosts 文件中。显然,这是由 Safari 中的 IPv6 支持引起的。

答案4

我不会直接回答你的问题,但会提供一个替代解决方案:使用虚拟主机管理本地 DNS。另请参阅移动应用平台对于您的本地开发需求来说,这不是一个好的解决方案(如果这是您所追求的)。

相关内容