无法找到位于 "server.localhost" 的服务器,因为 DNS 查找失败。

The server at "server.localhost" can't be found because the DNS look-up failed.

我正在尝试 运行 本地站点,http://server.localhost,但在 Chrome 中遇到错误(FF、Opera 中的类似问题):

The server at "server.localhost" can't be found because the DNS look-up failed.

我的 /etc/hosts 文件有:

127.0.0.1       server.localhost

我的 /etc/apache2/sites-enabled/server.conf 文件有:

<VirtualHost *:80>
    ServerAdmin steven@mydomain.com
    DocumentRoot /var/www/server
    ServerName server.localhost
    SetEnv APPLICATION_ENV "localhost" 
    ErrorLog /var/www/server/tmp/logs/error.log
    CustomLog /var/www/server/tmp/logs/access.log combined
</VirtualHost>

目录 /var/www/server/var/www/server/tmp/logs/ 存在并且可读。

Apache 配置测试说语法没问题。 Apache 重新加载成功。

Apache 日志中没有生成错误。

我的 DNS 网络设置是:192.168.1.1、1.2.3.4、8.8.8.8(192.168.1.1 是我的路由器),我的搜索域是:1.2.3.4、8.8.8.8。

server.localhost 的 ping 显示 IP 为 127.0.0.1(正确)。

Apache/2.4.7, Ubuntu 14.04

首先检查你的

/etc/resolv.conf

因为这会影响 DNS 解析。

其次,检查您所有的浏览器配置。它们通常都有代理设置,您可以修改这些设置以影响 DNS 解析(在 Chrome 中它在高级设置下)。

感谢 William,我在这里找到了答案。
似乎我的 /etc/hosts 文件没有被赋予正确的优先级,所以我更改了 /etc/nsswitch.conf 以反映更多默认值。

更改自:

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

更改为:

passwd:         compat
group:          compat
shadow:         compat

hosts:          dns [!UNAVAIL=return] files
networks:       nis [NOTFOUND=return] files
ethers:         nis [NOTFOUND=return] files
protocols:      nis [NOTFOUND=return] files
rpc:            nis [NOTFOUND=return] files
services:       nis [NOTFOUND=return] files

netgroup:       nis

然后重启整机