对于部署在 Firebase App Hosting 上的应用,您不必放弃能够凸显品牌的独有域名。您可以不使用 Firebase 生成的网域,而是为 Firebase 托管的网站使用自定义网域(如 example.com
或 app.example.com
)。Firebase App Hosting 会为您的各个网域配置 SSL 证书。
本文档的其余部分将逐步介绍如何通过以下方式关联自定义网域:
为确保服务不中断,您的 DNS 记录必须按特定顺序进行更新。请按照说明迁移网域,防止应用停机。
如果您不介意停机(例如,当您关联一个对 Web 应用而言是新网域时),请按照说明关联新网域。
开始前须知: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 记录的原因有两个:
|
是 |
TXT | 借助这些记录,您可以将任意元数据附加到网域。App Hosting 允许您使用特定格式的 TXT 记录 fah-claim=[UUID] 来指明应在您的网域上提供哪个自定义网域的内容。 |
否 |
CAA | 这些记录充当许可名单,用于指定有权为您的网域创建 SSL 证书的证书授权机构。只有在无法为您的网域创建证书时,App Hosting 才会请求 CAA 记录。 | 否 |
准备工作:您的自定义域名
添加或修改 DNS 记录时,不同的域名提供商要求您在其 DNS 管理网站中的主机(或主机名)字段输入的信息不同。App Hosting 自定义网域向导要求您在名称字段中输入相同的值。
我们在下方汇总了常见提供商通常会要求您输入的内容。如需了解详情,请参阅域名提供商的文档。
网域类型 | 自定义域名 |
---|---|
顶端网域 |
常见输入包括:
|
子网域 | 常见输入包括:
|
常见的域名提供商
以下是一些常见的域名提供商以及每个提供商可能要求的输入类型。 此部分信息会尽可能及时更新,但详细说明请以域名提供商的文档为准。
迁移网域
如果您想将域名从其他提供商转移到 App Hosting,但不想有任何停机时间,可以使用 Firebase 控制台中的迁移网域流程。该流程会引导您完成一个两步流程,该流程会先准备好 App Hosting 以在您的网域上提供内容,然后再将流量定向到 App Hosting 服务器。
第 1 步:添加自定义网域
- 打开项目的 App Hosting 页面。
- 使用查看信息中心选项选择 App Hosting 后端。
- 选择设置标签页,然后点击添加自定义网域。
- 输入您希望与 App Hosting 网站关联的自定义域名。
- (可选)选中相应的复选框,将针对该自定义网域的所有请求重定向到另一个指定网域(以便让
example.com
和www.example.com
重定向到相同的内容)。 - 点击继续设置,以配置您的 DNS 记录并完成自定义网域设置。
第 2 步:准备网域
- 选择设置域名向导的迁移域名标签页。
- 请按照第一步准备网域中的说明操作,其中包含 App Hosting 为您的首选后端提供服务并为您的网域建立安全的 TLS 连接所需的一系列更改。输入以下信息,以在您的 DNS 提供商中添加、移除和保存来自您网域的记录(针对必需的记录):
- 名称:为记录输入您的自定义域名。您指定的主机是要在其中提供内容的网域;此网域可以是顶端网域,也可以是子网域。此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”
- 记录类型:添加提供的 DNS 记录。
- 值:将提供的值分配给您的记录。此术语在您的域名提供商处可能显示为“数据”“指向”“内容”“地址”或“IP 地址”。值字段的内容因记录类型而异,其中 A 记录和 AAAA 记录的值为 IP 地址,而 TXT 记录的值为字符串。
- 选择验证记录。App Hosting 会尝试检测您在域名提供商处所做的更改。更改最多可能需要 24 小时才能生效。您可以在后端信息中心的“设置”>“网域”视图中查看状态。
第 3 步:直接定向到 App Hosting
- 在 App Hosting 验证上一步中的记录更新后,向导会进入最后的直接转到 App Hosting 步骤。此步骤会显示您必须进行的记录更新,以便将网域的流量定向到 App Hosting 服务器。与之前一样,输入以下信息,以在您的 DNS 提供商中添加、移除和保存来自您网域的记录(针对必需的记录):
- 名称:为记录输入您的自定义域名。您指定的主机是要在其中提供内容的网域;此网域可以是顶端网域,也可以是子网域。此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”
- 记录类型:添加提供的 DNS 记录。
- 值:将提供的值分配给您的记录。此术语在您的域名提供商处可能显示为“数据”“指向”“内容”“地址”或“IP 地址”。值字段的内容因记录类型而异,其中 A 记录和 AAAA 记录的值为 IP 地址,而 TXT 记录的值为字符串。
- 选择验证记录。App Hosting 会尝试检测您在域名提供商处所做的更改。更改最多可能需要 24 小时才能生效。您可以在后端信息中心的“设置”>“网域”视图中查看状态。
关联新网域
如果您不介意停机(例如,当您关联对 Web 应用而言是新网域时),请按照本部分中的说明操作。
第 1 步:添加自定义网域
- 打开项目的 App Hosting 页面。
- 使用查看信息中心选项选择 App Hosting 后端。
- 选择设置标签页,然后点击添加自定义网域。
- 输入您希望与 App Hosting 网站关联的自定义域名。
- (可选)选中相应的复选框,将针对该自定义网域的所有请求重定向到另一个指定网域(以便让
example.com
和www.example.com
重定向到相同的内容)。 - 点击继续设置,以配置您的 DNS 记录并完成自定义网域设置。
第 2 步:验证 DNS 记录
- Firebase 控制台的设置网域向导将显示必要的记录,这些记录需要更新才能将您的页面指向 Firebase App Hosting。输入以下信息,以在您的 DNS 提供商中添加、移除和保存来自您网域的记录:
- 名称:为记录输入您的自定义域名。您指定的主机是要在其中提供内容的网域;此网域可以是顶端网域,也可以是子网域。此术语在您的域名提供商处可能显示为“主机名”“名称”或“网域”
- 记录类型:添加提供的 DNS 记录。
- 值:将提供的值分配给您的记录。此术语在您的域名提供商处可能显示为“数据”“指向”“内容”“地址”或“IP 地址”。值字段的内容因记录类型而异,其中 A 记录和 AAAA 记录的值为 IP 地址,而 TXT 记录的值为字符串。
- 选择验证记录。App Hosting 会尝试检测您在域名提供商处所做的更改。更改最多可能需要 24 小时才能生效。您可以在后端信息中心的“设置”>“网域”视图中查看状态。
等待预配 SSL 证书
App Hosting 在您更新 DNS 记录后,最长可能需要几个小时才能为您的网域预配 SSL 证书。在某些情况下,此过程会在您将 DNS 指向 Firebase App Hosting 后完成,最长可能需要 24 小时。
您可以使用浏览器的安全工具查看此证书。在网域预配过程中,您可能会看到无效证书,或者在连接到网域时遇到问题。这是此流程的正常环节,在您的网域证书有效后便会恢复正常。
注意:Firebase App Hosting 会根据需要自动为自定义网域重新预配 SSL 证书。
自定义网域的状态说明
状态 | 说明 |
---|---|
需要设置 |
您可能需要更改 DNS 记录的某个配置。
|
待处理 | 您正确设置了自定义网域,但 Firebase App Hosting 未配置 SSL 证书。 有时,过于严格的 CAA 记录可能会阻碍系统为自定义网域创建 SSL 证书。 确保允许证书授权机构“letsencrypt.org”和“pki.goog”以便为您的网域创建 SSL 证书。 |
正在创建证书 | 正在为您的网域生成 SSL 证书。 |
已连接 | 您的自定义网域具有正确的 DNS 记录和 SSL 证书。 |