Firebase Hosting 有哪些用途?

什么是 Firebase 托管?

Firebase Hosting 是一种适用于静态和动态内容以及微服务的全代管式托管服务,由 SSD 存储系统和全球级内容分发网络 (CDN) 提供支持。Firebase Hosting 内置了零配置的 SSL,因此始终能够确保安全地分发内容。

您能托管什么?

构建然后托管您的微服务、API 和表单

将 Firebase Hosting 与 Cloud Functions 搭配,可使用 Express.js 框架构建微服务。这样做可让您在 Firebase 上托管您的微服务和 API。此外,您还可以通过与 Cloud Firestore 深度集成,构建可实时更新数据的强大表单和 Web 应用。

托管您的单页 Web 应用、营销网站以及静态和动态资源

Firebase Hosting 专门针对单页 Web 应用和静态网站进行了优化,让您得以从中受益。静态资源(HTML、CSS、JavaScript、字体等)的分发由我们的 SSD 后端存储系统和在全球所有主要位置拥有边缘网点的全球级 CDN 提供支持。您甚至可以在全球级 CDN 上缓存动态内容。Firebase 托管的所有网站还能免费获得 SSL 证书,因此始终能够确保安全地分发您的内容。

添加自定义网域(或子网域)

使用 Firebase Hosting,您将自动获得 Firebase 子网域,但您可以选择通过自定义网域(例如 example.commyrealtimeapp.example.com)提供内容。Firebase Hosting 会为您的各个网域预配 SSL 证书,并通过全球级 CDN 向用户提供您的内容。

设置生产工作流

在部署到实际网站之前,您需要查看并测试所做的更改。 借助 Firebase Hosting,您可以在本地查看和测试更改并与模拟后端项目资源交互。如果您需要团队成员查看并测试您的更改,Hosting 可以为您的网站创建可共享的临时预览网址。我们甚至支持 GitHub 集成通过拉取请求 (pull request) 进行部署。

详细了解如何在本地测试、预览更改和部署。

集中托管您的所有网站

Firebase Hosting 可以在单个 Firebase 项目中托管多个网站。每个网站都有各自特有的一系列资源,具有各自的托管配置,并且可以拥有一个或多个关联的网域。由于这些网站全都在同一个 Firebase 项目中,因此所有网站都可以访问该项目的其他 Firebase 资源。

您可以使用一个 Firebase 项目中的多个网站来集中托管相关的网站(例如您的单页应用、博客和营销网站)。

查看、搜索和过滤您网站的 Web 请求日志

您可以将 Firebase 项目关联到 Cloud Logging,以便查看、搜索和过滤每个 Hosting 网站的 Web 请求日志。这些日志来自 Firebase 自动提供的 CDN,因此对网站的每个请求和关联的请求数据都会被记录。

Cloud Logging 日志可用于以下目的:

  • 更好地了解您的网站 — 了解从何处以及在何时有人访问您的网站、网站的响应状态、最终用户请求的延迟时间等等。

  • 使用查询过滤日志 — 利用自动收集的数据来过滤和绘制与每个请求或您的网站关联的数据。

  • 使用基于日志的指标 — 根据预定义的系统指标或用户定义的指标创建 Cloud Monitoring 图表和提醒政策。

  • 将日志导出到其他 Google Cloud 工具 — 在其他工具(如 BigQuery 和数据洞察)中使用日志数据,获得更强大的分析和关联能力。

如需了解详情,请参阅 Cloud Logging 和 Hosting 集成页面

使用 Cloud Build 自动进行持续部署

Firebase Hosting 与 Cloud Build 联合提供了一个现成的 DevOps 解决方案,可为您的静态和动态内容以及微服务自动执行持续部署工作流。

配置这些工具后,只需将代码签入 Git 代码库,即可将 Web 应用部署到 Firebase Hosting。

一切都可自定义!

  • 错误页面 — 让您的 Web 应用返回一个完全自定义的 404 页面。

  • 重写 — 自定义要使用哪些端点来处理哪些流量,甚至可以为多个网址展示相同的内容。

  • 本地化的内容 - 针对用户的语言偏好和/或所在国家/地区提供个性化内容。

  • 标头 — 想要访问 Cookie? 使用自定义标头!

  • 缓存和 CDN 行为 — 通过自定义标头控制您的 Web 应用在 CDN 中的缓存方式。

限制 Web 应用的访问权限并防御针对这些应用的 DDoS 攻击

利用 Express.js 中间件的强大功能,您可以构建自定义逻辑,为您的微服务、API 和其他 HTTPS 端点提供服务。例如,只需几行代码,您就可以集成常用的 Node.js 中间件来构建额外的安全层,例如基于 IP 的访问管理机制或能够防御拒绝服务 (DDoS) 攻击的保护机制。

从各种 Web IDE 部署到 Firebase

Firebase Hosting 与各种 Web IDE 集成,因此您可以直接从 StackBlitzGlitch(两个 Web IDE)部署到 Firebase Hosting。

使用 Stackblitz 部署
使用 Stackblitz 部署到 Firebase Hosting
使用 Glitch 部署
使用 Glitch 部署到 Firebase Hosting

这些 IDE 能自动检测到您是在创建 Firebase 应用,让您无需离开 IDE,只需点击一个按钮,即可部署到 Firebase Hosting。

与其他 Firebase 服务深度集成

FriendlyChat Web Codelab

Firebase Hosting 可直接使用各种 Firebase 服务,包括 Cloud FunctionsAuthenticationRealtime DatabaseCloud FirestoreCloud Messaging。 您可以使用这些优势互补的 Firebase 服务构建功能强大的微服务和 Web 应用。

试用我们的 FriendlyChat Web Codelab,了解如何将这些 Firebase 服务与 Firebase Hosting 搭配使用。

使用 REST API 和我们的 Node.js 模块创建自定义部署工作流

Firebase Hosting 支持使用面向高级开发者的 REST API 构建自定义工作流,如通过 JavaScript 应用进行部署。

您还可以将我们的 Node.js 模块导入您的 Node.js 应用以构建高级功能。