关联自定义网域

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

本文档的其余部分将逐步介绍通过以下任一方式关联自定义网域的操作:

为确保服务不中断,您的 DNS 记录必须按特定顺序进行更新。请按照说明迁移网域,以防止应用停机。

如果您不介意停机(例如,您要关联的网域是新添加到您的网站应用中的),请按照说明关联新网域

开始前须知: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 管理网站中的主机(或主机名称)字段输入的信息不同。App Hosting 自定义网域向导要求您在名称字段中输入相同的值。

我们在下方汇总了常见提供商通常会要求您输入的内容。如需了解详情,请参阅域名提供商的文档

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

常见输入包括:

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

常见输入包括:

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

常见的域名提供商

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

迁移网域

如果您想确保应用不中断服务,并且不会出现任何停机时间,则必须按特定顺序设置 DNS 记录。添加网域后,您首先需要完成一个流程来验证 DNS 记录,然后再执行另一个验证步骤,以将实时请求定向到 App Hosting

第 1 步:添加自定义网域

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

第 2 步:验证 DNS 记录

  1. 1. Firebase 控制台的迁移网域向导将显示必要的记录,这些记录需要更新才能将您的网页指向 Firebase App Hosting。输入以下信息,以在您的 DNS 提供商中添加、移除和保存来自您网域的记录:
    • 名称:为记录输入您的自定义域名。您指定的主机是要在其中提供内容的网域;此网域可以是顶级网域,也可以是子网域。此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”
    • 记录类型:添加提供的 DNS 记录。
    • :将提供的值分配给您的记录。此术语在您的域名提供商处可能显示为“数据”“指向”“内容”“地址”或“IP 地址”。值字段的内容因记录类型而异,A 记录和 AAAA 记录的值为 IP 地址,而 TXT 记录的值为字符串。
  2. 选择验证记录App Hosting 会尝试检测您在域名提供商处所做的更改。更改最长可能需要 24 小时才能生效。您可以在后端信息中心的设置 > 网域视图中查看状态

第 3 步:定向到 App Hosting

  1. App Hosting 验证记录更新后,Direct to App Hosting 对话框会显示您必须更新的最终记录,以将您的域名定向到 App Hosting。与之前一样,输入以下信息,以在您的 DNS 提供商中添加、移除和保存来自您网域的记录:
    • 名称:为记录输入您的自定义域名。您指定的主机是要在其中提供内容的网域;此网域可以是顶级网域,也可以是子网域。此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”
    • 记录类型:添加提供的 DNS 记录。
    • :将提供的值分配给您的记录。此术语在您的域名提供商处可能显示为“数据”“指向”“内容”“地址”或“IP 地址”。值字段的内容因记录类型而异,A 记录和 AAAA 记录的值为 IP 地址,而 TXT 记录的值为字符串。
  2. 选择验证记录App Hosting 会尝试检测您在域名提供商处所做的更改。更改最长可能需要 24 小时才能生效。您可以在后端信息中心的设置 > 网域视图中查看状态

关联新网域

如果您不介意停机(例如,您要关联的是新添加到网站应用中的网域),请按照本部分中的说明操作。

第 1 步:添加自定义网域

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

第 2 步:验证 DNS 记录

  1. Firebase 控制台的设置网域向导将显示必要的记录,这些记录需要更新才能将您的网页指向 Firebase App Hosting。输入以下信息,以在您的 DNS 提供商中添加、移除和保存来自您网域的记录:
    • 名称:为记录输入您的自定义域名。您指定的主机是要在其中提供内容的网域;此网域可以是顶级网域,也可以是子网域。此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”
    • 记录类型:添加提供的 DNS 记录。
    • :将提供的值分配给您的记录。此术语在您的域名提供商处可能显示为“数据”“指向”“内容”“地址”或“IP 地址”。值字段的内容因记录类型而异,A 记录和 AAAA 记录的值为 IP 地址,而 TXT 记录的值为字符串。
  2. 选择验证记录App Hosting 会尝试检测您在域名提供商处所做的更改。更改最长可能需要 24 小时才能生效。您可以在后端信息中心的设置 > 网域视图中查看状态

等待预配 SSL 证书

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

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

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

自定义网域的状态说明

状态 说明
需要设置

您可能需要更改 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 证书。
您可以提供网站的内容。