使用 Firebase Hosting 时,您不必放弃能够凸显品牌的独有域名。您可以选择不使用 Firebase 生成的网域,而是为托管的网站使用自定义网域(如 example.com
或 app.example.com
)。
Firebase Hosting 会为您的各个网域配置 SSL 证书,并通过全球级 CDN 向用户分发您的内容。
本文档的其余部分将逐步介绍关联自定义网域的操作。
请注意关于关联自定义网域的以下事项:
每个自定义网域只能与一个 Hosting 网站关联。
由于 SSL 证书的创建限制,每个自定义网域都存在以下限制:每个顶端网域中的子网域不得超过 20 个。
针对 Hosting 设置您的网域
确保您已在项目的 Firebase Hosting 页面 中完成了“使用入门”向导中的步骤,这样您的 Firebase 项目中就有一个 Firebase Hosting 网站。
第 1 步 :添加自定义网域
在项目的 Hosting 页面 ,进入用于关联自定义网域的向导:
如果您只有一个 Hosting 网站,请点击添加自定义网域 。
如果您有多个 Hosting 网站 ,请点击查看 找到所需网站,然后点击添加自定义网域 。
输入您希望与 Hosting 网站关联的自定义域名。
(可选)选中相应的复选框,将针对该自定义网域的所有请求重定向到另一个指定网域(以便让 example.com
和 www.example.com
重定向到相同的内容)。
点击继续 ,以配置您的 DNS 记录并完成自定义网域设置。
第 2 步 :设置自定义网域
如果关联网域 设置向导中要求验证顶端网域,请进行验证。
以下步骤可确保您的网域尚未与 Firebase 项目关联,并且您对指定网域拥有所有权。
在域名提供商的网站中,找到 DNS 管理页面。
输入以下信息添加并保存新记录:
类型 :添加 TXT 记录。
Firebase Hosting 要求您将此 TXT 记录持续保留在您的 DNS 设置中,以证明您对网域的所有权,并授权 Firebase 为您的网站分配和续订 SSL 证书。
此术语在您的域名提供商处可能显示为“记录类型”。
主机 :输入您的顶端网域键 。
通过证明您对顶端网域(或根网域)的所有权,证明您对其所有子网域的所有权。
此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”。
值 :将唯一验证值复制到该字段中。
Firebase Hosting 会检查该值,以证明您对网域的所有权。
此术语在您的域名提供商处可能显示为“数据”。
等待更新的 TXT 记录传播(最长可能需要 24 小时),然后点击验证 。
请注意,您可以点击取消 以安全地关闭关联网域 窗口,稍后再重新打开。这不会影响传播时间,但重新打开此窗口时,系统将提示您重新输入您的域名 。
充分传播后,在 Firebase 控制台的关联网域 窗口中点击验证 ,即可开始 SSL 证书预配过程。
在大多数情况下,记录的传播和网域的验证将在数小时内完成,具体取决于您的域名提供商。如需详细了解如何添加 TXT 记录和具体的传播时间,请参阅域名提供商的文档。
如果点击验证 后提示错误消息,则表示您的记录尚未传播完成,或者您的值可能不正确。
在 Firebase 控制台的添加自定义网域 向导中,选择快速设置 或高级设置 。
快速设置 可用于当前未接收流量的新网域或您尝试从其他 Hosting 网站转移的网域。如果您已经有一个在其他托管服务提供商那里接收请求的网域,并且需要零停机迁移,则可以使用高级设置 。
高级设置 向导将帮助您建立 SSL 证书和所有权声明,以允许 Hosting 在接收流量之前处理网域上的流量。
快速设置
Firebase 控制台的添加自定义网域 向导将显示必要的记录,这些记录需要更新才能将您的页面指向 Firebase Hosting 。输入以下信息,以在您的 DNS 提供商中添加、移除和保存来自您网域的记录:
类型 :添加提供的 DNS 记录。
主机 :为记录输入您的自定义网域键 。
您指定的主机是要在其中提供内容的网域;此网域可以是顶端网域,也可以是子网域。
此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”。
值 :将提供的 IP 地址分配给记录的值。
此术语在您的域名提供商处可能显示为“数据”“指向”“内容”“地址”或“IP 地址”。
等待系统配置您的 SSL 证书 。
此过程会在您将 DNS 指向 Firebase Hosting 后完成,最长可能需要 24 小时。在大多数情况下,记录的传播和 SSL 证书的预配将在数小时内完成,具体取决于您的域名提供商。
请务必移除指向其他提供商的 A 记录或 CNAME 记录,同时还要移除所有 AAAA 记录。如果存在这些类型的记录,Firebase 将无法预配 SSL 证书。
高级设置
通过添加自定义网域 向导的高级 设置模式,您可以配置 Hosting 以安全地处理您网域的流量,然后您再将流量定向到其服务器。一般来说,Hosting 需要满足以下三项条件才能在网域上成功处理流量:
所有权记录:TXT 记录会告知 Hosting 要在网域上提供哪个网站的内容
SSL 证书:网域专用证书,支持 Hosting 服务器与最终用户之间的加密通信
托管 IP 记录:一条或多条 A 和 AAAA 记录,用于将对网域的所有请求定向到 Hosting 服务器
高级 设置会引导您配置网域,以允许 Hosting 提前满足前两项要求,以便其能够在开始接收您的网域流量之前提供正确的内容。此向导将此过程表示为一个包含两个步骤的工作流:
域名准备工作
更新 DNS 记录 :为您的网域添加一条或多条记录:
所有权:格式为“hosting-site=[site_id]”的 TXT 记录。
CAA(可选):允许 Hosting 的证书授权机构 为您的网域创建 SSL 证书的一对 CAA 记录。仅当 Hosting 发现了阻止其预配证书的现有 CAA 记录时,此字段才会显示。
设置 SSL 证书 :向导会提供一项 ACME 质询 ,Hosting 的证书授权机构将使用该质询为您的网域创建 SSL 证书。您可以选择 DNS 或 HTTP 验证:
DNS 验证 :访问域名提供商的 DNS 管理网站。使用 ACME 验证子网域键和所提供的值来添加一条 TXT 记录。等待您的 TXT 记录传播,最长可能需要 24 小时。
HTTP 验证 :将提供的文本文件上传到指定网址的现有网站,并验证其存在。
在向 CA 请求验证之前,Hosting 会尝试验证 ACME 质询本身。如果该 CA 因任何原因(例如间歇性服务问题)未能验证您的质询,Hosting 将不得不为您生成一组新的质询。验证成功后,Hosting 最多可能需要几个小时才能预配 SSL 证书并使其传播。
定向到 Hosting
Hosting 建立您的网域所有权并预配 SSL 证书后,请返回您的 DNS 提供商并添加将请求定向到 Hosting 的 DNS A/AAAA 记录:
等待预配 SSL 证书
验证网域所有权后,我们将为您的网域预配 SSL 证书,并在您将 DNS A 记录指向 Firebase Hosting 后的 24 小时内,在我们的全球级 CDN 上部署该证书。
您的网域将在 FirebaseApp SSL 证书中作为一个主题备用名称 (SAN) 列出。您可以使用浏览器的安全工具查看此证书。在网域预配过程中,您可能会看到未包含您的域名的无效证书。这是此流程的正常环节,在您的网域证书有效后便会恢复正常。
对于高级设置 用户,您的网站将由之前的托管服务提供商托管,直到您的项目的 Firebase Hosting 页面 中的设置状态 更新为已关联 。
注意 :Firebase Hosting 会根据需要自动为自定义网域重新预配 SSL 证书。
您的自定义网域键
添加或修改 DNS 记录时,不同的域名提供商要求您在其 DNS 管理网站中的主机 字段输入的信息不同。我们在下方汇总了常见提供商通常会要求您输入的内容。
如需了解详情,请参阅域名提供商的文档。
网域类型
自定义网域键
顶端网域
常见输入包括:
@
顶端域名(例如 example .com
)
主机 字段留空
子网域
常见输入包括:
完整的子域名(例如 app.example .com
)
仅限子网域部分(例如,仅 app
,省略 .example .com
)
仅 www.example .com
子网域的 www
部分
常见的域名提供商
以下是一些常见的域名提供商以及每个提供商可能要求的输入类型。
此部分信息会尽可能及时更新,但详细说明请以域名提供商的文档为准。
Cloudflare
类型
主机
值
DNS TXT 记录输入
TXT
example .com
Firebase 控制台中提供的验证值
DNS A 记录输入
A
example .com
199.36.158.100
A
www
199.36.158.100
Google Cloud DNS
类型
主机
值
DNS TXT 记录输入
TXT
example .com
Firebase 控制台中提供的验证值
DNS A 记录输入
A
example .com
199.36.158.100
A
www
199.36.158.100
NameCheap
类型
主机
值
DNS TXT 记录输入
TXT
@
Firebase 控制台中提供的验证值
DNS A 记录输入
A
@
199.36.158.100
A
www
199.36.158.100
Squarespace
类型
主机
值
DNS TXT 记录输入
TXT
@
Firebase 控制台中提供的验证值
DNS A 记录输入
A
@
199.36.158.100
A
www
199.36.158.100
自定义网域的设置状态说明
状态
说明
需要设置
您可能需要更改 DNS 记录的某个配置。
待处理
您正确设置了自定义域名,但 Firebase Hosting 未配置 SSL 证书。
有时,下列问题可能会阻碍系统为自定义网域创建 SSL 证书:
您的 CAA 记录的限制过高。 问题排查提示:确保允许证书授权机构“letencrypt.org”和“pki.goog”以便为您的网域创建 SSL 证书。 您的质询码无效。 如果您使用的是高级设置流程,并且迁移失败,则您的令牌(及其质询码)现在无效。 问题排查提示:点击查看 以找到网域,然后为现有网域提供新令牌。 您为过多的子网域请求了证书。
问题排查提示:通常,由于 SSL 证书创建限制,Firebase Hosting 建议一个顶端自定义网域的子网域不要超过 20 个。
正在创建证书
正在为您的网域生成 SSL 证书。
已连接
您的自定义网域具有正确的 DNS 记录和 SSL 证书。 您可以提供网站的内容。