添加超过 20 个 CNAMES /自定义域以指向 Firebase 托管端点

添加超过 20 个 CNAMES /自定义域以指向 Firebase 托管端点

我们目前有一个自托管解决方案,允许我们的客户添加 CNAMES 以通过他们自己的域访问他们的内容。

我们正在将整个堆栈迁移到 Google Cloud,主要产品驻留在 Firebase Hosting 部署上,具有无服务器功能、存储和 Firestore 数据库。

我知道我们可以手动并以编程方式将 CNAMES 添加到我们的 Firebase 托管帐户,但 Firebase 上的硬性限制为 20。

我的问题是:GCP 是否提供了一种解决方案,我们可以以编程方式添加 CNAME,生成自签名证书,并通过代理将它们指向我们的 Firebase 托管 URL,同时保留原始 CNAME,但提供我们的 Firebase 内容?或者推荐此堆栈的方法?

我们不想做的事情:

  • 拥有多个 Firebase 部署,每个部署有 20 个域
  • 添加任何托管解决方案(计算引擎等)作为中介
  • 远离 Firebase

我们已经联系了 Firebase 团队,但建议按照上述第 1 点将它们分成多个部署,因为它们无法看到其他 GCP 产品。

答案1

您的问题的答案不是 Firebase 可以支持多少个主机名,而是 SSL 可以支持多少个主机名。

SSL 证书建议在 SSL 证书的 SAN 字段中放置不超过 20 个条目。这称为 SSL 证书铸造限制。一些 SSL 证书最多支持 100 个*,但 Firebase 支持 20 个。条目越多,处理每个连接的开销就越大。每次向证书添加新域时,在颁发新证书时都必须重新验证所有现有域。

注意:我没有包括通配符(*.example.com)

*笔记:RFC 5280没有指定 SubjectAltNames 的最大值。Microsoft 规定编码扩展的最大大小为 4KB(关联)。

相关内容