首页 > 解决方案 > 如何在 Google Cloud Platform 中使用 1 个虚拟 IP/IP 处理多个域的负载平衡

问题描述

现在,在 Nginx vhost 配置文件中,我们只为许多域使用 1 个虚拟 IP (zzzz)。

例如:听 zzzz:80; 对于 www.test.com 听 zzzz:80;对于 www.play.com

同样,在 Haproxy 中,我们使用具有不同端口的虚拟 IP 来配置具有不同域的不同负载均衡器

虚拟 Ip1:xxxx 虚拟 Ip2:yyyy

例如:IP xxxx:8001 用于特定 LB(例如 xxx.test.com)和 IP xxxx:8002 用于另一个 LB(yyy.test.com)

特定 LB(例如 aaa.test.com)的类似 IP yyyy:8001 和另一个 LB(例如 bbb.play.com)的 IP yyyy:8002

现在谷歌负载均衡器是否提供同样的功能?

到目前为止,我们发现..它仅适用于一个子域(这意味着..我们需要为每个 LB 配置许多 ips)

也就是说.. 负载均衡器只能为 test.example.com 配置

如果我们想要 test1.play.com 的负载均衡器,我们需要配置一个公共 ip 并在我们的 dns 上将该公共 ip 指向 test1.play.com

标签: google-cloud-platform

解决方案


您可以将两个域中的所有 DNS 区域配置为将 GCP 中的 HTTP(S) LB IP 地址指向 A 记录类型。在负载均衡器级别,您必须为每个域定义url 映射。然后,您必须为这两个域创建单独的主机规则,其中 1 个用于 test.com,另一个用于 play.com。

后端配置,我的意思是网络服务器(Apache、Nginx 等)必须能够将匹配这些主机规则的流量重定向到正确的域


推荐阅读