使用 Firebase 托管,您不必放弃以品牌为中心的独特域名。您可以为 Firebase 托管的网站使用自定义域(例如example.com
或app.example.com
),而不是 Firebase 生成的域。
Firebase 托管为您的每个域提供 SSL 证书,并通过全球 CDN 提供您的内容。

本文档的其余部分将引导您完成这些步骤以连接您的自定义域。
为托管设置您的域
确保您已完成项目的Firebase 托管页面中的“入门”向导,以便您的 Firebase 项目中有一个 Firebase 托管网站。
第 1 步:添加域
从您项目的托管页面,输入用于连接自定义域的向导:
- 如果您只有一个托管站点,请单击添加自定义域。
- 如果您有多个托管站点,请单击所需站点的查看,然后单击添加自定义域。
输入您要连接到托管站点的自定义域名。
(可选)选中此框以将自定义域上的所有请求重定向到第二个指定域(例如example.com
和www.example.com
重定向到相同的内容)。
单击继续以启动验证过程。
第 2 步:验证域所有权
如果在连接域设置向导中有要求,请验证您的顶级域。
这些步骤确保您的域尚未与 Firebase 项目相关联,并且您拥有指定的域。
在您的域提供商站点中,找到 DNS 管理页面。
使用以下输入添加和保存新记录:
类型:添加 TXT 记录。
Firebase 托管要求您在 DNS 设置中持续保留此 TXT 记录,以证明您对域的所有权并授权 Firebase 为您的站点分配和更新 SSL 证书。
您的域提供商可能会将此术语列为“记录类型”。
主持人:输入您的顶级域密钥。
证明您对顶级域或根域的所有权,证明您对其所有子域的所有权。
您的域提供商可能会将此术语列为“主机名”、“名称”或“域”。
值:将唯一验证值复制到字段中。
Firebase 托管检查此值以证明您的域所有权。
您的域提供商可能会将此术语列为“数据”。
最多允许 24 小时传播更新后的 TXT 记录,然后点击验证。
请注意,您可以单击“取消”以安全地关闭“连接域”窗口并在稍后重新打开。这不会影响传播时间,但会在您重新打开窗口时提示您重新输入您的域名。
在足够的传播时间后,单击 Firebase 控制台的“连接域”窗口中的“验证”允许您开始 SSL 证书配置过程。
在大多数情况下,您的记录传播和域验证将在几个小时内发生,具体取决于您的域提供商。有关添加 TXT 记录和传播时间的详细说明,请参阅您的域提供商的文档。
如果单击验证提示错误消息,则您的记录尚未传播或您的值可能不正确。
第 3 步:上线
在 Firebase 控制台的“连接域”窗口中,如果您已经有一个站点在另一个托管服务提供商上运行并且需要零停机迁移,请选择新站点的快速设置或高级设置。
快速设置
- 返回您的域名提供商的 DNS 管理站点,创建 DNS A 记录,将您的页面指向 Firebase 托管。使用以下输入添加和保存记录:
- 留出时间来配置您的 SSL 证书。在您将 A 记录指向 Firebase 托管后,这最多可能需要 24 小时。在大多数情况下,您的记录传播和 SSL 证书的配置将在几个小时内发生,具体取决于您的域名提供商。
高级设置
- Firebase 控制台的“连接域”窗口将要求您提供令牌以迁移现有站点。您只需完成以下其中一项即可提供令牌:
- 更新 DNS TXT 记录:访问您的域提供商的 DNS 管理站点。使用您的域密钥和提供的值添加 TXT 记录。
最多允许 24 小时传播您的 TXT 记录。- 将文件上传到现有站点:将令牌上传到指定 URL 处的现有站点并验证其存在。
此页面必须通过 HTTPS 提供,并且不必有效或安全。加密令牌仅对一次有效。如果迁移失败,将生成一个新令牌以供您记录。- 留出时间来配置您的 SSL 证书。这最多可能需要 24 小时。在大多数情况下,您的记录传播和 SSL 证书的配置将在几个小时内发生,具体取决于您的域名提供商。
- 配置 SSL 证书后,返回到 DNS 提供商的 DNS 管理站点以添加 DNS A 记录,将您的页面指向 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 TXT 记录输入 |
TXT | example .com | Firebase 控制台中提供的验证值 |
DNS A 记录输入 |
一种 | example .com | 199.36.158.100 |
一种 | 万维网 | 199.36.158.100 |
谷歌域名
类型 | 主持人 | 价值 |
---|
DNS TXT 记录输入 |
TXT | @ | Firebase 控制台中提供的验证值 |
DNS A 记录输入 |
一种 | @ | 199.36.158.100 |
一种 | 万维网 | 199.36.158.100 |
谷歌云 DNS
类型 | 主持人 | 价值 |
---|
DNS TXT 记录输入 |
TXT | example .com | Firebase 控制台中提供的验证值 |
DNS A 记录输入 |
一种 | example .com | 199.36.158.100 |
一种 | 万维网 | 199.36.158.100 |
名称便宜
类型 | 主持人 | 价值 |
---|
DNS TXT 记录输入 |
TXT | @ | Firebase 控制台中提供的验证值 |
DNS A 记录输入 |
一种 | @ | 199.36.158.100 |
一种 | @ | 199.36.158.100 |
方形空间
类型 | 主持人 | 价值 |
---|
DNS TXT 记录输入 |
TXT | @ | Firebase 控制台中提供的验证值 |
DNS A 记录输入 |
一种 | @ | 199.36.158.100 |
一种 | 万维网 | 199.36.158.100 |
自定义域的设置状态说明
地位 | 描述 |
---|
需要设置 | 您可能需要更改 DNS 记录的配置。 |
待办的 | 您正确设置了自定义域,但 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 托管自动断开连接。 |