Google Chrome 虚拟主机在更新后无法使用 ERR_NAME_NOT_RESOLVED 错误

Google Chrome virtual hosts not working with ERR_NAME_NOT_RESOLVED error after update

早上我将 Chrome 更新到 ubuntu 上的最新版本时,我在 apache 上的所有本地虚拟主机开始收到此错误。

虽然它们都可以在其他浏览器上运行 chrome 开始出现 ERR_NAME_NOT_RESOLVED 错误。

Screen shot for the error

这样修好了:

通过在 Chrome 浏览器中输入此命令来清除 Chrome 的 DNS 缓存

  • chrome://net-internals/#dns

截图 -> Flushing Chrome DNS cache

  • 您将看到一个按钮 "Clear Host Cache"。按那个 DNS 缓存 将被冲洗。

  • 保持此 DNS window 开放。现在在浏览器中访问虚拟主机 对我来说是 http://api.localhost。一旦你这样做了,你会看到一个 DNS window 中的新条目。对我来说是“localhost.” 注意显示错误的本地主机末尾的句点“.”。

  • 最后一步是简单地将此条目添加为

    127.0.0.1 localhost.

    在主机文件中位于 对于 ubuntu : /etc/hosts

    对于 windows : C:\Windows\System32\drivers\etc\hosts

另一种解决方案是放弃本地虚拟主机域末尾的 .localhost /.dev

这与 google 的一些新变化有关。 ".dev" 和 ".local" 属于 google 的 TLD(在人们关心 DNS 的互联网角落,Google 申请超过一百个新的顶级域,包括 .dev 等)

使用您拥有的域名。可能使用像 "localhost.dev.$yourdomain" 这样的全名可能有助于这里的设置。

另一种选择是将文件 /etc/hosts 中定义为 your_domain.localhost 的任何条目替换为类似local.your_domain。但这也需要您更改虚拟主机文件中的“ServerName”和“ServerAlias”值。

以下是修复 xampp 虚拟主机在 chrome 和 firefox 中以 .dev 结尾的方法。谁不再工作了(在 chrome 的大多数版本中,因为 .dev 是从 google - [Dev domain ICANN] 注册和保留的真实域)。

让虚拟主机正常工作,我遇到了很多麻烦 在 firefox 和 chrome 上,但最后我发现最好的解决方案 就是为每个本地域制作两个不同的主机。所以我最终得到了类似的东西:这是 (C:\Windows\System32\drivers\etc\hosts):

中的主机文件

这是必需的,因为如果您仍然希望本地主机处于活动状态

127.0.0.1 localhost.
::1 localhost.
fe80::1%lo0  localhost.

这在 Firefox 中运行良好。

127.0.0.1 laravel.dev
::1 laravel.dev
fe80::1%lo0 laravel.dev

这在 Chrome 上完美运行。

127.0.0.1 laravel.localhost
::1 laravel.localhost
fe80::1%lo0 laravel.localhost

这是我的 xampp httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "D:/xampp/htdocs/"
    ServerName localhost
    ServerAlias localhost
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@laravel
    DocumentRoot "D:/xampp/htdocs/laravel/public/"
    ServerName laravel.dev
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@laravel
    DocumentRoot "D:/xampp/htdocs/laravel/public/"
    ServerName laravel.localhost
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@testsite
    DocumentRoot "D:/xampp/htdocs/testsite/"
    ServerName testsite.dev
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@testsite
    DocumentRoot "D:/xampp/htdocs/testsite/"
    ServerName testsite.localhost
</VirtualHost>

我希望这对某些人有所帮助,因为我浪费了几个小时来寻找最佳解决方案并使一切正常进行。 :)

tags - 虚拟主机在 chrome.

上不起作用

我正在做这个:

在主机中:

127.0.0.1 localhost.
::1 localhost.
fe80::1%lo0  localhost.

在httpd.conf中:

<VirtualHost localhost>
  DocumentRoot "D:/Apache/htdocs/projects/some-project-root"
  ServerName some-project.localhost
</VirtualHost>

重要的是写入 VirtualHost 标签“localhost”,“127.0.0.1”在 chrome 中不起作用。