我刚开始考虑部署网页并享受 DNS 等带来的乐趣。我想知道您如何设置多个使用自己的主机名/公共 IP 地址的 Web 服务器,然后让它们从一个域中提供网页.
例如,假设您有一个网站 example.com,并且 DNS 中有一条 A 记录指向它的 IP 地址 1.2.3.4 。
出于故障转移的原因,您希望有两台服务器 prod1 和 prod2,它们前面有某种负载均衡器。
在我看来,您可能希望将这些服务器的主机名设为 prod1.example.com 和 prod2.example.com,也许还有 loadb.example.com。
您将如何设置 DNS,以便一切正常。即,您可以通过 ssh 连接到任何服务器域,prod1.example.com、prod2.example.com 或 loadb.example.com,也可以使用 www.example.com 网址访问该网站。所有这些服务器名称都可以从公共互联网上解析吗?这样安全吗?
这将是一个 linux 环境,为了争论 ubuntu,一个 django 框架动态网站,在 apache 2.2 中运行
干杯马克
这实际上非常简单,但具体操作方式取决于您使用的 LB。
在您的示例中,您只需拥有一个 example.com 的 A 记录,它指向 LB 提供的虚拟 IP 地址。LB 将定期探测 Prod1 和 Prod2 以检查它们是否正常运行(有时它们有多忙),并据此将每个请求交给服务器处理。如果需要,如果您希望在 LB 忽略该请求的情况下直接与特定服务器对话,您可以为 Prod1 和 Prod2 创建额外的 A 记录。
这里有一些额外的细节;
Prod1.example.com=1.1.1.1,即Prod1的真实IP
Prod2.example.com=1.1.1.2,即Prod2的真实IP
Prod.example.com=1.1.1.3,LB创建并指向两个Prod1。 example.com 和 Prod1.example.com(您可以使用 DNS 名称或 IP)。
请求到达 Prod.example.com 的 LB,LB 知道两者都已启动,因此将请求发送到 Prod1.example.com,下一个请求将发送到 Prod2.example.com,依此类推。
上面的示例使用“循环”规则来平衡流量,但是您可以使用许多其他规则来代替(即谁最不忙),但这取决于所使用的 LB。
那样行吗?如果没有,请告诉我们,我们会回复您。