获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

连接自定义域

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

使用 Firebase 托管,您不必放弃以品牌为中心的独特域名。您可以为 Firebase 托管的网站使用自定义域(例如example.comapp.example.com ),而不是 Firebase 生成的域。

Firebase 托管为您的每个域提供 SSL 证书,并通过全球 CDN 提供您的内容。

本文档的其余部分将引导您完成这些步骤以连接您的自定义域。

为托管设置您的域

确保您已完成项目的Firebase 托管页面中的“入门”向导,以便您的 Firebase 项目中有一个 Firebase 托管网站。

第 1 步:添加域

  1. 从您项目的托管页面,输入用于连接自定义域的向导:

    • 如果您只有一个托管站点,请单击添加自定义域
    • 如果您有多个托管站点,请单击所需站点的查看,然后单击添加自定义域
  2. 输入您要连接到托管站点的自定义域名。

  3. (可选)选中此框以将自定义域上的所有请求重定向到第二个指定域(例如example.comwww.example.com重定向到相同的内容)。

  4. 单击继续以启动验证过程。

第 2 步:验证域所有权

如果在连接域设置向导中有要求,请验证您的顶级域。

这些步骤确保您的域尚未与 Firebase 项目相关联,并且您拥有指定的域。

  1. 在您的域提供商站点中,找到 DNS 管理页面。

  2. 使用以下输入添加和保存新记录:

    • 类型:添加 TXT 记录。

      Firebase 托管要求您在 DNS 设置中持续保留此 TXT 记录,以证明您对域的所有权并授权 Firebase 为您的站点分配和更新 SSL 证书。

      您的域提供商可能会将此术语列为“记录类型”。

    • 主持人:输入您的顶级域密钥

      证明您对顶级域或根域的所有权,证明您对其所有子域的所有权。

      您的域提供商可能会将此术语列为“主机名”、“名称”或“域”。

    • :将唯一验证值复制到字段中。

      Firebase 托管检查此值以证明您的域所有权。

      您的域提供商可能会将此术语列为“数据”。

  3. 最多允许 24 小时传播更新后的 TXT 记录,然后点击验证

    请注意,您可以单击“取消”以安全地关闭“连接域”窗口并在稍后重新打开。这不会影响传播时间,但会在您重新打开窗口时提示您重新输入您的域名

    在足够的传播时间后,单击 Firebase 控制台的“连接域”窗口中的“验证”允许您开始 SSL 证书配置过程。

    在大多数情况下,您的记录传播和域验证将在几个小时内发生,具体取决于您的域提供商。有关添加 TXT 记录和传播时间的详细说明,请参阅您的域提供商的文档。

    如果单击验证提示错误消息,则您的记录尚未传播或您的值可能不正确。

第 3 步:上线

在 Firebase 控制台的“连接域”窗口中,如果您已经有一个站点在另一个托管服务提供商上运行并且需要零停机迁移,请选择新站点的快速设置高级设置

等待 SSL 证书配置

在验证域所有权后,我们会为您的域提供 SSL 证书,并在您将 DNS A 记录指向 Firebase 托管后的 24 小时内将其部署到我们的全球 CDN。

您的域将列为 FirebaseApp SSL 证书中的主题备用名称 (SAN) 之一。您可以使用浏览器的安全工具查看此证书。在配置域时,您可能会看到不包含您的域名的无效证书。这是该过程的正常部分,将在您的域证书可用后解决。

对于高级设置用户,您的网站将由您之前的托管服务提供商托管,直到您项目的Firebase 托管页面中的设置状态更新为Connected

您的自定义域密钥

添加或编辑 DNS 记录时,不同的域提供商希望您在其 DNS 管理站点中的主机字段中输入不同的输入。我们在下方汇总了来自热门提供商的常见输入。有关详细说明,请参阅您的域提供商的文档。

域类型自定义域密钥
顶点域

常见的输入包括:

  • @
  • 顶级域名( example .com
  • 主机字段留空
子域

常见的输入包括:

  • 完整的子域名(例如, app. example .com
  • 仅子域部分(例如,仅app ,并省略. example .com
  • 只有www为 www 的子域www. example .com

常见域名提供商

以下是一些常见的域名提供商以及每个域名提供商可能需要的输入类型。此信息会尽可能保持最新,但请参阅您的域提供商的文档以获取详细说明。

自定义域的设置状态说明

地位描述
需要设置

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

  • 在大多数情况下,您的 DNS A 记录并未从您的域名提供商传播到 Firebase 托管服务器。
    故障排除提示:如果已超过 24 小时,请检查您是否已将记录指向 Firebase 托管。

  • 在极少数情况下,尤其是当您使用高级设置流程时,SSL 质询可能会失败,因为:

    • 您的 DNS 记录具有指向其他托管服务提供商的 A 记录或 CNAME 记录。
      故障排除提示:检查您的 A 记录是否仅指向 Firebase 托管,并删除所有 CNAME 记录。
    • 迁移失败,令牌(DNS TXT 记录或提供给您站点的上传文件)现在无效。
      故障排除提示:单击域的查看,然后向现有域提供新令牌。
待办的

您正确设置了自定义域,但 Firebase 托管尚未配置 SSL 证书。

有时,以下问题可能会阻止为自定义域生成 SSL 证书:

  • 您的 CAA 记录过于严格。
    故障排除提示:确保允许证书颁发机构“letsencrypt.org”和“pki.goog”为您的域创建 SSL 证书。
  • 您的挑战代码无效。
    如果您使用的是高级设置流程并且迁移失败,则您的令牌(及其质询代码)现在无效。
    故障排除提示:单击域的查看,然后向现有域提供新令牌。
  • 您为太多子域请求了证书。
    故障排除提示:由于 SSL 证书生成限制,Firebase 托管通常建议在一个顶级自定义域上使用不超过 20 个子域。
连接的

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

需要重新验证

如果发生以下任一情况,Firebase 可能会要求您手动重新验证您的域名所有权:

  • 当您最初验证域所有权时添加的 TXT 记录已被更改或从域的 DNS 设置中删除。
    • 请注意,在单个域中允许使用带有 google-site-verification 令牌的多个 TXT 记录。
    • 我们要求 TXT 记录持续出现在您的 DNS 设置中,因为这证明您拥有该域并授权我们为您的站点分配和更新 SSL 证书。
  • 验证域所有权的人不再分配包含验证域所有权所需权限的IAM 角色。这些角色包括所有者、编辑者、Firebase 管理员和 Firebase 开发管理员。
故障排除提示:访问您项目的托管页面,在指定的时间窗口(通常为 30 天)内完成重新验证过程,以避免您的自定义域与 Firebase 托管自动断开连接。