在有两台服务器的 PC 上设置虚拟主机

在有两台服务器的 PC 上设置虚拟主机

我有两个在 Windows 7 上运行的 Apache 服务器。一个是与 XAMPP 捆绑在一起的(在端口 80 上运行),另一个是与 Zend 捆绑在一起的(在端口 81 上运行)。我想在端口 81 上设置虚拟主机。我该怎么做?这是我在 httpd-vhosts 中输入的内容。在我的

<VirtualHost *:81>
DocumentRoot "C:\Program Files (x86)\Zend\Apache2\htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:81>
DocumentRoot "C:/Program Files (x86)/Zend/Apache2/htdocs/youje"
ServerName youjenzi.localhost
</VirtualHost>

对于 hosts 文件,我添加了以下行

127.0.0.1 youjenzi.localhost

上述条目将我重定向到端口 80 上的 XAMPP。

答案1

HTTP 和 HTTPS 分别在端口 80 和端口 443 上仅能在没有端口号的情况下工作。如果您的 apache 在非标准端口上运行,则需要将端口添加到您在浏览器中输入的地址,即;http://youjenzi.localhost:81

DNS 不会将您发送到特定端口,代理和防火墙(以及其他东西)可以这样做。

答案2

在监听 tcp:80 的 XAMPP 服务器上,放置以下内容:

ProxyRequests On
ProxyPreserveHost On
ProxyPass / http://localhost:81
ProxyPassReverse / http://localhost:81

然后,您不需要在地址栏中指定任何端口就可以明确地到达 Zend 捆绑的 apache。

这意味着您将在 XAMPP 上拥有一个反向代理配置(虽然您没有要求,但学到了 2 分和另一个概念)

答案3

我不确定您将如何配置 Apache,但您可以向您的计算机添加另一个 IP 地址(或将本地主机的别名添加到其他应用程序的 hosts 文件中),并让两个虚拟服务器在同一端口上运行。我猜它看起来会像这样:

<VirtualHost *:80>
DocumentRoot "C:/Program Files (x86)/Zend/Apache2/htdocs/youje"
ServerName youjenzi2.localhost
</VirtualHost>

主机文件如下所示:

127.0.0.1 youjenzi.localhost
127.0.0.1 youjenzi2.localhost

相关内容