【问题标题】:Reusing custom domain between GCP and Firebase在 GCP 和 Firebase 之间重用自定义域
【发布时间】:2022-08-11 13:44:47
【问题描述】:

我计划使用 Firebase 托管来托管 2 个网络应用程序:example.comdev.example.com。对于相应的 API,我在 GCP 上有 2 个项目(使用托管实例组和负载均衡器),带有自定义域:api.example.comdev-api.example.com

是否可以设置我的自定义域 example.com 可以在 Firebase 和 GCP 中重复使用?我希望这是一个流行的设置,但找不到任何文档/操作方法。如果有帮助,我将使用 Google Domains 作为 example.com 的域提供商,并使用 Google 托管 SSL 证书。

来自firebase hosting docs

确保删除任何指向其他的 A 记录或 CNAME 记录 提供者。同时删除任何 AAAA 记录。如果这些记录类型中的任何一个 存在,Firebase 无法配置 SSL 证书。

A 记录和 CNAME 记录使用什么值?使用来自 Cloud DNS 的 Load Balancer IP 似乎对于 A 记录来说是个坏主意,因为根 example.com 位于 Firebase 中。另外,为什么 Firebase 强制添加 TXT 记录而 Cloud DNS 没有?

  • 为什么要把域指向两个不同的地方?通过这样做,请求将发送到 App Engine 或 Firebase,但您永远无法确定所选择的会是什么。是这个意图吗?
  • 是的,使用子域应该允许使用不同的项目。 serverfault.com/questions/275982/…
  • 我建议在你的问题中说清楚。你提到:Is it possible to have a setup where my custom domain example.com can be reused across both Firebase and GCP? 所以更明确地说,如果你可以在每个项目中使用该域的子域。

标签: firebase google-cloud-platform firebase-hosting google-cloud-dns google-domains


【解决方案1】:

假设您在 GCP 项目中使用 Classic HTTPS 负载均衡器,您可以通过 Internet Network Endpoint Group 将 Firebase 托管链接到您的负载均衡器作为额外的后端,这样所有这些都可以通过相同的负载均衡器 IP 访问。

去做这个,

  1. 编辑当前负载均衡器并转到Backend configuration
  2. 创建后端服务,在Backend type下,选择Internet Network Endpoint Group
  3. 在后端 > 新后端,Create Internet Network Endpoint Group。这会将您带到 Compute Engine 下的网络端点组
  4. New network endpoint > Add through 下,您可以选择IP and portFully qualified domin name and port。只需提供您的 Firebase 主机的正确 FQDN 或 IP 以及 Firebase 主机正在侦听的端口,然后创建。
  5. 使用您创建为后端类型的 Internet 网络端点组完成后端服务的创建
  6. Host and Path rules 下。点击+Add Host and Path Rule,请在Host字段中填写您的Firebase托管域名。对于Path,只需输入/*。然后选择您创建的 Internet 网络端点组作为后端。

    我还假设您的 Google 托管证书也部署在负载均衡器中。如果是这种情况,那么您可以提供另一个 Google 托管 SSL 证书并包含所有 4 个域

    example.com
    dev.example.com
    api.example.com
    dev-api.example.com
    

    完成后,您可以使用负载均衡器的 IP 地址为每个域创建 A 记录。这是为了确保将请求转发到正确的后端,而不是只创建 CNAME,它将始终将请求转发到根域 (example.com) 而不是其预期的后端。 LB 应该能够根据被访问的域转发请求。

【讨论】:

    猜你喜欢
    • 2018-07-26
    • 2021-06-22
    • 2016-03-16
    • 2021-10-13
    • 1970-01-01
    • 2020-12-02
    • 2018-09-13
    • 2019-12-08
    • 1970-01-01
    相关资源
    最近更新 更多