首页 > 解决方案 > 如何为两个子域使用一个 GCP 负载均衡器?

问题描述

我想创建一个 LAMP 站点,该站点在子域上也有一个单独的存储桶。基本上,mysite.comdownloads.mysite.com。而且,我想把它们放在同一个负载均衡器和 SSL 证书上。

我知道如何为主站点创建 http(s) 负载均衡器,使用后端服务的实例组并添加 SSL 证书,但我似乎无法弄清楚如何将下载子域添加到该负载均衡器和证书。

我想为下载创建一个额外的存储桶后端服务。我不确定如何设置主机和路径规则。我试过了:

Host                      Path                      Backend
----------------------------------------------------------------
All unmatched (default)   All unmatched (default)   main-backend
downloads.mysite.com      /*                        bucket-backend

对于证书,我尝试使用 mysite.com 和 downloads.mysite.com 以及www.mysite.com和 downloads.mysite.com,但我总是收到错误 FAILED_NOT_VISIBLE。

然后是 DNS 设置。如果只是主 LAMP 站点,我会添加一条带有负载均衡器 IP 地址的 A 记录。不确定我是否需要为下载子域添加另一个 A 记录。

谢谢你的帮助。

标签: sslgoogle-cloud-platformgoogle-cloud-dnsgoogle-cloud-load-balancer

解决方案


对于您的评论,您已经有一条 A 记录指向下载域的负载均衡器 IP 地址,这在大多数情况下就足够了,但您可以在此处FAILED_NOT_VISIBLE阅读导致错误的另一个原因。检查您的下载域在 Internet 上是否可见,您可以 ping 成功吗?它应该以您的 LB IP 地址响应。在再次尝试创建附加证书之前先修复此问题。考虑到证书有项目配额,请确认您没有达到它。

您可以使用

gcloud command like this example:
gcloud compute ssl-certificates create my-cert \
    --domains=one.com,two.com,www.three.com \
    --global

您可以使用 URL Maps 并在需要时将它们与补丁匹配器结合起来,以便为不同的后端引导流量。您可以在此处阅读有关这些概念的信息,并在此处了解如何使用它们。


推荐阅读