【问题标题】:Vagrant not working with localhost extension on ChromeVagrant 无法在 Chrome 上使用 localhost 扩展
【发布时间】:2017-04-28 14:34:15
【问题描述】:

我有一台带有 macOS Sierra 的 2015 mac。 在 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 文件后,它工作正常。但不在铬上。我已经在 safari 和 firefox 中测试过,效果很好。 出于某种原因,在 Chrome 上,这两个仍在向我显示 apache2 文件。 所以我已经从我的本地 apache 中删除了 conf 文件(出于某种原因)。唯一改变的是,现在它显示了 403 禁止(所以仍然是 apache)。我试过关闭apache。现在它显示“无法访问此站点”

我已经对它们进行了 ping 操作,它显示了正确的 IP(流浪 IP)。 我已经刷新了 DNS(从终端和 chrome) - 仍然无法正常工作。 我尝试重新启动 chrome - 不。我尝试重新启动笔记本电脑 - 不。

所以我认为 chrome 不会重新加载主机文件,所以我将其从 .localhost 更改为 .localhost2 或 .local 。现在它显示了来自 vagrant 的 404。

奇怪的部分 -> 我用 .localhost 作为扩展名的所有内容在 Chrome 上都不起作用... a.b.c.localhost 不起作用。 如果我启动 apache,a.b.c.localhost 会显示 403 禁止 apache,即使它不在 hosts 文件中。

请注意,在 Firefox 和 Safari 中它可以正常工作。但我真的需要 chrome 和 .localhost 扩展名

我已经在这个问题上失去了将近 2 天的时间,我不能再失去一个

【问题讨论】:

  • 您是否尝试使用其他域名来避免 DNS 缓存问题?
  • 我在问题中写道:我无法更改域名。它必须是 *.localhost。那没有帮助,已经尝试过那些
  • chrome://net-internals/#dns 显示什么?它如何在您的实验中解析 .localhost 名称?
  • 我已经 ctrl+f 了,但它不显示

标签: macos apache vagrant hosts


【解决方案1】:

在此处查找相关信息:https://bugs.chromium.org/p/chromium/issues/detail?id=489973

简而言之:这似乎是一个已知的 Chrome 功能:/etc/hosts 在解析以 .localhost 结尾的主机名时被忽略,作为 OS X 特定的安全缓解措施。 Comment 22 表示一种解决方法:将127.0.0.1 localhost. 添加到/etc/hosts 中(并注意“localhost”之后的尾随点)。

【讨论】:

    【解决方案2】:

    对于主机管理,您可以使用特殊插件 https://github.com/devopsgroup-io/vagrant-hostmanagerAFAIR 他们解决了 Chrome + MacOS 问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-01
      • 2012-11-22
      • 2013-09-03
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      相关资源
      最近更新 更多