Vagrant在Chrome浏览器上无法使用本地扩展

7
我有一台2015年的Mac,安装了macOS Sierra操作系统。 由于apache和php出现了太多问题,我决定使用Vagrant。 我正在使用box.scotch.io来进行我的工作。
在使用Vagrant之前,我按照以下方式配置了hosts文件:
127.0.0.1 devsite.localhost
127.0.0.1 sub.devsite.localhost

“记住,我不能更改域名和扩展名,因为这不是我的项目,我必须使用它们以便某些重定向和API正常工作。”
“在使用Vagrant之后,我进行了更改:”
192.168.33.10 devsite.localhost
192.168.33.10 sub.devsite.localhost

在vagrant中编辑conf文件后,它可以正常工作。但是在Chrome中不能正常工作。我已经在safari和firefox中测试过,它们可以正常工作。 由于某种原因,在Chrome中这两个仍然向我显示apache2文件。 所以我去删除了本地apache的conf文件(由于某种原因)。唯一改变的是现在它显示403禁止访问(仍然是apache)。我尝试关闭了apache。现在它显示“无法访问该网站”。
我已经ping了它们并显示了正确的IP地址(vagrant IP)。 我已经清除了DNS(从终端和chrome中)-仍然不起作用。 我尝试重新启动chrome-没有用。我尝试重新启动笔记本电脑-没有用。
所以我认为chrome不会重新加载hosts文件,所以我将其从.localhost更改为.localhost2或.local。现在它向我显示来自vagrant的404。
奇怪的部分->我在Chrome上使用带有.localhost扩展名的所有内容都不能正常工作... a.b.c.localhost将不起作用。 如果我启动apache,a.b.c.localhost将向我显示来自apache的403禁止访问,即使它不在hosts文件中。
请注意,在firefox和safari中,它可以正常工作。但是我真的需要chrome和.localhost扩展名。
我已经花了将近两天的时间在这个问题上,我再也不能承受失去另外一天了。

你是否尝试过使用另一个域名以避免DNS缓存问题? - Michael Lihs
chrome://net-internals/#dns 显示了什么?在您的实验中,它如何解析 .localhost 名称? - void
我已经使用Ctrl+F搜索了,但它没有显示。 - John
它是否启用了“内部DNS客户端:true”? - void
内部 DNS 客户端已启用:true(未找到有效配置) - John
显示剩余2条评论
2个回答

3
在这里查找相关信息: https://bugs.chromium.org/p/chromium/issues/detail?id=489973 简而言之:这似乎是Chrome的一个已知功能:/etc/hosts被忽略了,用于解析以 .localhost 结尾的主机名,作为OS X特定的安全缓解措施。评论22提供了一个解决方法:将127.0.0.1 localhost.添加到/etc/hosts中(注意 "localhost." 后面的句点)。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接