如何从networking中的另一台PC访问本地主机虚拟服务器

我们在networking中有更多的电脑。 在虚拟服务器上的一台PC上运行一个Intranet应用程序:

<VirtualHost 127.0.0.1> DocumentRoot "D:\data\o\application\root" ServerName application </VirtualHost> 

这是一个Zend Framework应用程序。 这就是为什么它需要虚拟服务器。 我们在所有PC上运行Apache作为networking服务器。

如果PC有名字,比如说“johndoe-pc”,我如何从内部网的另一台PC访问这个应用程序?

编辑:

这是来自httpd.conf的完整虚拟主机configuration:

 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上,我可以通过input以下命令来访问它:

 http://application 

*replace127.0.0.1

 <VirtualHost *> DocumentRoot "D:\data\o\application\root" ServerName application </VirtualHost> 

但取决于你的apacheconfiguration的其他部分,它可能无法正常工作,试试看。 不要忘记重新启动Apache

如果您没有运行DNS服务器,则可以通过服务器的IP直接访问此虚拟主机。 我认为你在文章中提到的名字是NetBIOS名字。 您将需要一个DNS名称。 如果您不想运行DNS服务器,只需将Web服务器的名称和IP放入工作站的所有主机文件中即可。 在Windows上,您可以在C:\ WINDOWS \ system32 \ drivers \ etc \ hosts中find它们。

如果您不想更改Apacheconfiguration,请在该计算机上安装SSHd,并使用ssh -L80:serverip:80端口转发,其中serverip是运行Apache的计算机的IP。

然后,您将可以通过http:// localhost /访问该应用程序。

然而,我build议你改变你的Apacheconfiguration,因为使用这个解决scheme,每个用户都需要打开一个到那台计算机的SSH会话。