/ etc / hosts中的本地别名不能在没有互联网连接的情况下工作

我有我的开发者机器,我在Debiantesting上运行Apache下运行的Web应用程序。

现在我希望能够将myApp作为域名,而不必在我的浏览器地址栏中使用localhost或127.0.0.1。 有些CMS软件不支持更改域名:…–(

现在要做到这一点,我有一个/ etc / hosts文件看起来像这样:

127.0.0.1 localhost 127.0.0.1 myApp 127.0.0.1 phpmyadmin .... 

在我的Apache设置,我正确地configuration我的虚拟主机服务器名称。

这一直工作得很好,但今天我不得不与别人共享互联网,当我拔掉cabel,我不能访问myApp或别的别名,除了本地主机现在给我的'myApp'的文档根,它是不是configuration在Apacheconfiguration…

我从来没有真正知道Linux下的DNS的任何东西,但我想我以前没有使用互联网和它的工作。

我没有尝试重新启动没有以太网电缆插入,也许这将工作,但我有点困惑,想了解和解决这个问题

由于最近我有另一个服务器(docker)听本地,但在另一个端口,但可能没有任何关系…

/etc/hosts必须转换为:

 127.0.0.1 localhost localhost.localdomain myApp phpmyadmin 

你的/etc/hosts看起来很混乱。

man hosts ,注意到以下语法: IP_address canonical_hostname [aliases...]

所以我的build议是使用以下内容:

 127.0.0.1 localhost myApp phpmyadmin 

先将更改提示给/ etc / hosts文件,并确保“files”列在/etc/nsswitch.conf文件的“hosts”行中。

(/etc/nsswitch.conf控制着parsing程序库参考各种源来尝试和parsing主机名的顺序,如果“files”没有被列为源/ etc / hosts,所有。在你的情况下,可能有意义的是把“文件”之前的主机线“DNS”)。