我遇到了一个非常奇怪的 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 文件中删除该条目(暂时仅用于测试)
- 苹果菜单 > 系统偏好设置
- 网络
- 选择“网络连接”>“高级”
- 配置 IPv6 > 关闭
应用、重新启动并查看进展如何。
答案2
我以前也遇到过这种情况——使用http://计算机名.local/对我有用,但我不确定为什么它与仅在主机文件中使用名称不同。
答案3
注释掉以下行:
::1 localhost
从 /etc/hosts 文件中。显然,这是由 Safari 中的 IPv6 支持引起的。