Apache:查看来自局域网的命名虚拟主机

问题描述:

我在Apache上使用了一些虚拟主机来加速开发。我的配置如下所示:Apache:查看来自局域网的命名虚拟主机

<VirtualHost 127.0.0.1> 
    ServerName my_server.dev 
    DocumentRoot "my_root" 

    <Directory "my_public_files"> 
     AllowOverride All 
     Allow from All 
    </Directory> 
</VirtualHost> 

<VirtualHost 127.0.0.1> 
    ServerName another_server.dev 
    DocumentRoot "another_root" 

    <Directory "other_public_files"> 
     AllowOverride All 
     Allow from All 
    </Directory> 
</VirtualHost> 

等等。我还将myserver.devanother_server.dev添加到主机文件,因此将其中一个地址放入浏览器会将我带到我的开发环境。

用于测试目的。我希望能够通过局域网上的其他机器访问这些虚拟主机。我可以通过放置服务器本地IP来访问主机,但我不知道如何访问其他虚拟主机。

我想我可以通过为每个主机分配一个不同的端口来做到这一点,但这会在一段时间后变得不舒服。有没有机会在局域网上按名称访问虚拟主机?

您必须按名称而不是IP访问服务器。 所以,你的机器应该LAN知道,哪里是“another_server.dev”,因此,你必须添加到主机文件一行:

10.0.0.1 another_server.dev my_server.dev 

(与你的机器的IP取代10.0.0.1)

此后LAN上的机器可以访问您的服务器http://my_server.dev

您必须修改局域网中所有计算机上的hosts文件,以便他们知道another_server.dev应该指向您的本地服务器。否则,dns查找将会失败,因为域名不存在。