关联自定义网域

您不必放弃能够凸显品牌的独有域名,即可在 Firebase App Hosting 上部署应用。您可以选择不使用 Firebase 生成的网域,而是为托管的网站使用自定义网域(如 example.comapp.example.com)。Firebase App Hosting 会为您的各个网域预配 SSL 证书。

本文档的其余部分将逐步介绍关联自定义网域的操作。

针对 App Hosting 设置您的网域

确保您已完成基本的 App Hosting 设置任务,这样您的 Firebase 项目中就有一个 Firebase App Hosting 网站。

第 1 步:添加自定义网域

  1. 打开项目的 App Hosting 页面
  2. 使用查看信息中心选项选择 App Hosting 后端。
  3. 选择设置标签页,然后点击添加自定义网域
  4. 输入您希望与 App Hosting 网站关联的自定义域名。
  5. (可选)选中相应的复选框,将针对该自定义网域的所有请求重定向到另一个指定网域(以便让 example.comwww.example.com 重定向到相同的内容)。
  6. 点击继续,以配置您的 DNS 记录并完成自定义网域设置。

第 2 步:设置自定义网域

  1. Firebase 控制台的添加自定义网域向导将显示必要的记录,这些记录需要更新才能将您的页面指向 Firebase App Hosting。输入以下信息,以在您的 DNS 提供商中添加、移除和保存来自您网域的记录:

    • 类型:添加提供的 DNS 记录。
    • 主机:为记录输入您的自定义网域键。您指定的主机是要在其中提供内容的网域;此网域可以是顶级网域,也可以是子网域。此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”。

    • :将提供的值分配给您的记录。此术语在您的域名提供商处可能显示为“数据”“指向”“内容”“地址”或“IP 地址”。值字段的内容因记录类型而异,A 记录和 AAAA 记录的值为 IP 地址,而 TXT 记录的值为字符串。

请等待预配您的 SSL 证书。此过程通常需要几个小时,但有时可能需要长达 24 小时(从您将 DNS 指向 Firebase App Hosting 开始计算)。在大多数情况下,记录的传播和 SSL 证书的预配将在 1 小时内完成,具体取决于您的域名提供商。

等待预配 SSL 证书

更新 DNS 记录后,App Hosting 最长可能需要几个小时才能为您的网域预配 SSL 证书。在某些情况下,您将 DNS 指向 Firebase App Hosting 后,最长可能需要等待 24 小时。

您可以使用浏览器的安全工具查看此证书。在网域预配过程中,您可能会看到无效证书或连接到网域时出现问题。这是此流程的正常环节,在您的网域证书有效后便会恢复正常。

注意Firebase App Hosting 会根据需要自动为自定义网域重新预配 SSL 证书。

DNS 记录类型

App Hosting“自定义网域”向导可能会要求您添加 1 到 5 个 DNS 记录,具体取决于您网域的当前配置。记录的类型决定了其功能。App Hosting 可能会请求以下类型的记录:

类型 说明 专享
这些记录包含 IPv4 值(例如 8.8.8.8),用于告知浏览器在尝试与您的网域联系时应使用哪个地址。
AAAA 这些记录包含 IPv6 值(例如 2001:4860:4860::8888),是一种不同类型的地址记录,其功能与 A 记录大致相同。App Hosting 目前不使用 AAAA 记录,但会要求您从我们的网域中移除所有现有 AAAA 记录(如果有)。
CNAME 这些记录包含一个单独的域名,应将其用来代替您的当前网域来解析 DNS 查询。CNAME 记录只能用于子网域(例如 www.example.com)。App Hosting 使用 CNAME 记录的原因有两个:
  • 轻松上手App Hosting 会尽可能要求您将 CNAME 指向以 _custom-domain... 开头的预配置域名。
  • SSL 证书验证App Hosting 使用 Cloud Certificate Manager 为您的自定义网域预配 SSL 证书。通过 _acme-challenge... 子网域上的 CNAME 记录,Certificate Manager 可以为您创建和续订证书。加入计划后,此记录不得移除,否则您的证书覆盖范围将失效。
TXT 借助这些记录,您可以将任意元数据附加到您的网域。App Hosting 允许您使用特定格式的 TXT 记录 fah-claim=[UUID] 来指明它应在您的网域上提供哪个自定义网域。
CAA 这些记录可用作许可名单,用于指定有权为您的网域创建 SSL 证书的证书授权机构。只有在无法为您的网域创建证书的情况下,App Hosting 才会请求 CAA 记录。

您的自定义网域键

添加或修改 DNS 记录时,不同的域名提供商要求您在其 DNS 管理网站中的主机字段输入的信息不同。我们在下方汇总了常见提供商通常会要求您输入的内容。如需了解详情,请参阅域名提供商的文档

网域类型 自定义网域键
顶端网域

常见输入包括:

  • @
  • 顶端域名(例如 example.com
  • 主机字段留空
子网域

常见输入包括:

  • 完整的子域名(例如 app.example.com
  • 仅限子网域部分(例如,仅 app,省略 .example.com

常见的域名提供商

以下是一些常见的域名提供商以及每个提供商可能要求的输入类型。 此部分信息会尽可能及时更新,但如需了解详情,请参阅域名提供商的文档

自定义网域的状态说明

状态 说明
需要设置

您可能需要更改 DNS 记录的某个配置。

  • 大多数情况下,您的 DNS A 记录没有从域名提供商传播到 Firebase App Hosting 服务器。
    问题排查提示:如果已超过 24 小时,请检查您是否已将记录指向 Firebase App Hosting

  • 在极少数情况下,SSL 质询可能失败,因为您的 DNS 记录具有指向其他托管服务提供商的 A 记录或 CNAME 记录。
    问题排查提示:检查您的 A 记录是否仅指向 Firebase App Hosting,并移除所有 CNAME 记录。

待处理

您正确设置了自定义网域,但 Firebase App Hosting 未配置 SSL 证书。

有时,过于严格的 CAA 记录可能会阻止系统为自定义网域创建 SSL 证书。确保允许证书授权机构“letencrypt.org”和“pki.goog”为您的网域创建 SSL 证书。

正在创建证书

正在为您的网域生成 SSL 证书。

已连接

您的自定义网域具有正确的 DNS 记录和 SSL 证书。
您可以提供网站的内容。