我们在网络中拥有更多台 PC。虚拟服务器下的其中一台 PC 上运行着一个内部网应用程序:
<VirtualHost 127.0.0.1>
DocumentRoot "D:\data\o\application\root"
ServerName application
</VirtualHost>
它是一个 Zend Framework 应用程序。这就是它需要虚拟服务器的原因。我们在所有 PC 上运行 Apache 作为 Web 服务器。
如果 PC 有名称,比如说“johndoe-pc”,我该如何从内联网中的另一台 PC 访问此应用程序?
编辑:
这是来自 httpd.conf 的完整虚拟主机配置:
NameVirtualHost 127.0.0.1
#D:\data\o is document roo of the Apache web server
<VirtualHost 127.0.0.1>
DocumentRoot "D:\data\o"
ServerName johndoe-pc
</VirtualHost>
<VirtualHost 127.0.0.1>
DocumentRoot DocumentRoot "D:\data\o\application\root"
ServerName application
</VirtualHost>
在安装该应用程序的 PC 上,我可以通过输入以下命令来访问它:
http://application
答案1
替换127.0.0.1
为*
<VirtualHost *>
DocumentRoot "D:\data\o\application\root"
ServerName application
</VirtualHost>
但根据你的 Apache 配置的其他部分,它可能无法工作,请尝试一下。不要忘记重新启动 Apache
答案2
如果您没有运行 DNS 服务器,则可以通过服务器的 IP 直接访问此虚拟主机。我推测您在帖子中提到的名称是 NetBios 名称。您将需要一个 DNS 名称。如果您不想运行 DNS 服务器,只需将 Web 服务器的名称和 IP 放入工作站的所有主机文件中。在 Windows 上,您可以在 C:\WINDOWS\system32\drivers\etc\hosts 中找到它们。
答案3
如果您不想更改 Apache 配置,请在该计算机上安装 SSHd 并使用端口转发ssh -L80:serverip:80
,其中serverip
是运行 Apache 的计算机的 IP。
然后,您将能够使用http://本地主机/。
但是,我建议您更改 Apache 配置,因为使用此解决方案,每个用户都需要打开到该计算机的 SSH 会话。