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.dev
和another_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查找将会失败,因为域名不存在。