我正在我的本地运行一个RoR应用程序。我的主机文件中有一些翻译。
127.0.0.1 localhost
127.0.0.1 example.dev
127.0.0.1 www.example.dev
127.0.0.1 api.example.dev
他们工作正常,直到我将操作系统更新到10.11.4。如果我向ping
发送www.example.dev
请求,它似乎工作正常。它转换为的IP是127.0.0.1
。
但是当我在网络浏览器中访问www.example.dev
时,它似乎忽略了主机文件并ping了DNS服务器的IP。
我不确定如何,但在浏览器中转到localhost
会转换为127.0.0.1
。
答案 0 :(得分:7)
不知道为什么但是我已经禁用了我的回溯适配器和ipv6,现在它正在工作。
所以在您的主机文件中禁用这两项
# ::1 localhost
# fe80::1%lo0 localhost
一些fubar osx bug ......我想念史蒂夫......
答案 1 :(得分:4)
我在寻找类似问题的答案时遇到了这个问题,并希望将我的发现发布给同一位置的其他人。
作为一个三人小组,我们发现对我的/ etc / hosts文件的编辑似乎有效,而编辑其他两个主机文件似乎没有。经过进一步的挖掘,我们意识到我在OS X 10.10上,而他们使用的是新版本。
我们发现,在尝试了大约一百万件事之后,10.11及更高版本中对hosts文件的添加显然在IP和域之间不能有多个空格,例如:
无法工作:
1.2.3.4 some.site.com
DID WORK:
1.2.3.4 some.site.com
进行此更改后,我们立即开始查看预期结果,而不会清除任何缓存,重新启动或以其他方式。
答案 2 :(得分:0)
您要覆盖的主机是通过IPV6解析的。
:: 1是IPV6的环回地址,类似于IPV4中的127.0.0.1。将以下条目添加为/ etc / hosts文件中的最后一行。
:: 1 localhost
:: 1 www.example.dev