我有两个在 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