Apache 虚拟主机文件中的多个反向代理主机导致两个域都只访问 1 个应用程序

Apache 虚拟主机文件中的多个反向代理主机导致两个域都只访问 1 个应用程序

我有以下虚拟主机文件。我有 2 个应用程序在端口 26876 和 6876 上运行。当我将其添加到我的虚拟主机时,它只会转到两个域上的 26876 站点。这里可能出了什么问题?

<VirtualHost *:*>
    ServerName xxx.abc.com

        ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:26876/
    ProxyPassReverse / http://127.0.0.1:26876/

</VirtualHost>
<VirtualHost *:*>
    ServerName yyy.abc.com

        ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:6876/
    ProxyPassReverse / http://127.0.0.1:6876/

</VirtualHost>

答案1

这可能是什么问题?

不幸的是,您的问题可能缺少一些相关信息。

仅使用<VirtualHost *:*>语句,具有单独子域的虚拟主机应基于ServerName(例如xxx.example.comyyy.example.com)正常工作。也就是说,单独来看,上述虚拟主机示例应该没有任何问题。

解决方案?

正如评论中所建议的,您可以尝试在语句中指定端口号,<VirtualHost>例如:

<VirtualHost *:80>

    ServerName xxx.abc.com

    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:26876/
    ProxyPassReverse / http://127.0.0.1:26876/

</VirtualHost>

<VirtualHost *:80>

    ServerName yyy.abc.com

    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:6876/
    ProxyPassReverse / http://127.0.0.1:6876/

</VirtualHost>

这比使用任何 IP/任何端口(*.*)更常见,并且在某些情况下会产生影响。

以上内容假设您尝试使用 HTTP(端口 80)进行连接。HTTPS(端口 443)通常需要额外配置。不要忘记重新启动 Apache。

请注意,编辑原始问题以包含其他详细信息可能会有所帮助,包括:

  • 您正在使用什么操作系统。

  • 您在端口上运行了哪些服务268766876

  • 添加第二个虚拟主机时所采取的确切步骤。

  • 您如何访问服务的示例(浏览器 URL、命令行字符串等)。

  • 如果反转虚拟主机顺序会产生影响。

相关内容