在单个静态 IP 下托管多个 Web 服务器,Web 托管公司如何管理这一点

在单个静态 IP 下托管多个 Web 服务器,Web 托管公司如何管理这一点

过去几周,我一直在尝试了解如何在一个静态 IP 下设置多个 Web 服务器。我知道 Web 托管公司可能有很多静态 IP,但为一台服务器使用一个 IP 听起来效率不高。

我阅读了很多文章、帖子并观看了视频,参考了下面的一些。

我设置了 3 个 Web 服务器和 1 个 Windows 服务器来解析 DNS,我将端口 53 转发到 Windows 服务器以监听 DNS 请求。但后来我才知道,当发起​​ Web 请求时,DNS 服务器首先解析 IP,在这种情况下,它会到达我的公共静态 IP,然后 HTTP 请求会发送到此 IP,此时我不明白可以采用什么方法将收到的 HTTP 请求转发到相关的 Web 服务器。

请注意,我了解端口转发,并且能够实现它,我也了解反向代理,但它们看起来不像是一种专业的方法,我在这里寻找的是了解托管公司如何实现这一目标

以下是我发现的一些相关文章

https://serverfault.com/questions/965353/external-requests-to-internal-dns-server https://serverfault.com/questions/435791/internal-dns-server-provide-response-to-external-requests 当涉及斜杠后的地址时,DNS 如何工作?

这是我在此分享的设置架构,以便您可以参考解释:

建筑学

如果您认为需要更多信息或我的问题有改进的空间,请在评论中询问我,以便我知道缺少什么或如何改进我的问题。

答案1

是的,托管公司通常会通过为其服务器提供足够的 IP 地址来避免此问题 - 每个 Web 服务器确实都有自己的专用 IP 地址。托管在服务器 A 上的所有域名将使用地址 A,托管在服务器 B 上的域名使用 IP 地址 B,依此类推。

共享 IP 地址有其自身的低效率——您的路由器需要支持 NAT(通常不需要),随着每个 IP 的连接数增加,临时端口号更容易用完,等等。因此,如果您有 IP 地址,使用它们比囤积它们更有效率。

但除此之外,“反向代理”仍然是答案。(这几乎就是定义——任何将“将收到的 HTTP 请求转发到相关 Web 服务器”的东西都是称为反向代理。这是一种非常常见的方法——反向代理与常规 Web 服务器一起使用,或与代理一起用作负载均衡器(例如 HAproxy),或与代理一起用作容器的前端(例如 Traefik),等等。

相关内容