如何在不同的物理服务器上使用 Ubuntu + Apache 配置具有相同 IP 的多个站点?

如何在不同的物理服务器上使用 Ubuntu + Apache 配置具有相同 IP 的多个站点?

我有两个 Moodle 站点。一个旧的,一个新。每个站点都在 Ubuntu Server 上,Apache 位于不同的物理服务器上。是否可以使用相同的 IP 和域名以及不同的端口让它们工作?我应该如何配置 apache 及其虚拟主机?

示例> www.example.com/moodle1<< 111.111.11.11:80 和 www.example.com/moodle2<< 11.111.11.11:8081

谢谢

答案1

您需要在前面放置一个反向代理或负载平衡器(如 haproxy),并将两台物理服务器作为后端服务器。

您将其中一台服务器描述为“旧”;如果您计划最终退役该服务器,那么您可以将“新”服务器上的 Web 服务器设置为仅代理“旧”服务器上的旧版网站。

无论哪种方式,您都让一台服务器上的一款软件监听一个 IP:端口组合,并从位于不同 IP 上的后端服务器或服务器获取部分或全部请求的答案。

您不能让同一路由网络中的两台主机同时拥有相同的 IP。您可以使用 ECMP 或通过 BGP 通告主机路由将其拆分为多个网络,但这是一个高级主题,如果您从未听说过,那么您可能无法做到这一点。

也许还值得研究一下为什么您认为需要两个主机具有相同的 IP,因为可能有更明显的方法来实现您实际尝试做的事情。

相关内容