关联自定义网域

使用 Firebase Hosting 时,您不必放弃能够凸显品牌的独有域名。您可以选择不使用 Firebase 生成的网域,而是为托管的网站使用自定义网域(如 example.comapp.example.com)。

Firebase Hosting 会为您的各个网域配置 SSL 证书,并通过全球级 CDN 向用户分发您的内容。

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

针对 Hosting 设置您的网域

确保您已在项目的 Firebase Hosting 页面中完成了“使用入门”向导中的步骤,这样您的 Firebase 项目中就有一个 Firebase Hosting 网站。

第 1 步:添加自定义网域

  1. 在项目的 Hosting 页面,进入用于关联自定义网域的向导:

    • 如果您只有一个 Hosting 网站,请点击添加自定义网域
    • 如果您有多个 Hosting 网站,请点击查看找到所需网站,然后点击添加自定义网域
  2. 输入您希望与 Hosting 网站关联的自定义域名。

  3. (可选)选中相应的复选框,将针对该自定义网域的所有请求重定向到另一个指定网域(以便让 example.comwww.example.com 重定向到相同的内容)。

  4. 点击继续,以配置您的 DNS 记录并完成自定义网域设置。

第 2 步:设置自定义网域

如果关联网域设置向导中要求验证顶端网域,请进行验证。

以下步骤可确保您的网域尚未与 Firebase 项目关联,并且您对指定网域拥有所有权。

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

  2. 输入以下信息添加并保存新记录:

    • 类型:添加 TXT 记录。

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

      此术语在您的域名提供商处可能显示为“记录类型”。

    • 主机:输入您的顶端网域键

      通过证明您对顶端网域(或根网域)的所有权,证明您对其所有子网域的所有权。

      此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”。

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

      Firebase Hosting 会检查该值,以证明您对网域的所有权。

      此术语在您的域名提供商处可能显示为“数据”。

  3. 等待更新的 TXT 记录传播(最长可能需要 24 小时),然后点击验证

    请注意,您可以点击取消以安全地关闭关联网域窗口,稍后再重新打开。这不会影响传播时间,但重新打开此窗口时,系统将提示您重新输入您的域名

    充分传播后,在 Firebase 控制台的关联网域窗口中点击验证,即可开始 SSL 证书预配过程。

    在大多数情况下,记录的传播和网域的验证将在数小时内完成,具体取决于您的域名提供商。如需详细了解如何添加 TXT 记录和具体的传播时间,请参阅域名提供商的文档。

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

在 Firebase 控制台的添加自定义网域向导中,选择快速设置高级设置

快速设置可用于当前未接收流量的新网域或您尝试从其他 Hosting 网站转移的网域。如果您已经有一个在其他托管服务提供商那里接收请求的网域,并且需要零停机迁移,则可以使用高级设置

高级设置向导将帮助您建立 SSL 证书和所有权声明,以允许 Hosting 在接收流量之前处理网域上的流量。

等待预配 SSL 证书

验证网域所有权后,我们将为您的网域预配 SSL 证书,并在您将 DNS A 记录指向 Firebase Hosting 后的 24 小时内,在我们的全球级 CDN 上部署该证书。

您的网域将在 FirebaseApp SSL 证书中作为一个主题备用名称 (SAN) 列出。您可以使用浏览器的安全工具查看此证书。在网域预配过程中,您可能会看到未包含您的域名的无效证书。这是此流程的正常环节,在您的网域证书有效后便会恢复正常。

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

您的自定义网域键

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

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

常见输入包括:

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

常见输入包括:

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

常见的域名提供商

以下是一些常见的域名提供商以及每个提供商可能要求的输入类型。 此部分信息会尽可能及时更新,但详细说明请以域名提供商的文档为准。

自定义网域的设置状态说明

状态 说明
需要设置

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

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

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

    • 您的 DNS 记录具有指向其他托管服务提供商的 A 记录或 CNAME 记录。
      问题排查提示:检查您的 A 记录是否仅指向 Firebase Hosting,并移除所有 CNAME 记录。
    • 迁移失败,令牌(DNS TXT 记录或提供给您的网站的已上传文件)现在无效。
      问题排查提示:点击查看以找到网域,然后为现有网域提供新令牌。
待处理

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

有时,下列问题可能会阻碍系统为自定义网域创建 SSL 证书:

  • 您的 CAA 记录的限制过高。
    问题排查提示:确保允许证书授权机构“letencrypt.org”和“pki.goog”以便为您的网域创建 SSL 证书。
  • 您的质询码无效。
    如果您使用的是高级设置流程,并且迁移失败,则您的令牌(及其质询码)现在无效。
    问题排查提示:点击查看以找到网域,然后为现有网域提供新令牌。
  • 您为过多的子网域请求了证书。
    问题排查提示:通常,由于 SSL 证书创建限制,Firebase Hosting 建议一个顶端自定义网域的子网域不要超过 20 个。
正在创建证书

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

已连接

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