我的 Ubuntu 服务器 (Apache2) 上有两个公共网站。在请求它们时如何区分它们?

我的 Ubuntu 服务器 (Apache2) 上有两个公共网站。在请求它们时如何区分它们?

如果问题不清楚,请见谅。我有两个网站,我想在 Ubuntu Server 上的 Apache2 中设置它们。它们都应该向公众开放。我想为每个网站设置一个单独的 IP(我已经这样做了)。我设置了路由器,以便它将端口 80 上的请求转发到其中一个 IP 地址。我该如何配置我的设置,以便有办法访问另一个 IP 地址?

答案1

如果您有第二个公共 IP 和一个可以支持一系列公共 IP 地址或多个 IP 地址的 NAT 路由器,否则大多数简单的 NAT 路由器都不能。

大多数人实际上会设置多个“虚拟域”来在同一个 IP/Web 服务器组合下托管不同的网站。

答案2

你要虚拟主机。本质上,客户端发出的 HTTP 请求包含他们正在访问的站点的域名。因此 Apache 服务器知道要为他们提供什么内容。

——克里斯托弗·卡雷尔

答案3

按照已经发布的答案,并保持简单:

在 Linux 中,我相信这种说法是虚拟主机,正如 Christopher 在他的回答中所说。本质上,您在一个 IP 地址上运行多个网站,然后 Web 服务器会筛选出传入连接的目标网站。

按照 Windows IIS 的说法,您将基于 IP 的网站(没有域名的网站)设置为服务器上的默认网站,并使用“命名”网站的主机标头创建第二个网站,以区分“命名”网站和“未命名”网站。您的路由器将配置为将一个公共 IP 地址上的传入 HTTP 连接转发到服务器,然后服务器将根据连接是用于“命名”网站还是“未命名”网站来适当地处理连接。

您需要弄清楚基于名称的虚拟主机和基于 IP 的虚拟主机配置是否可以在您的 Web 平台上“组合”,以便您可以同时使用这两种方法。

相关内容