本页面提供了有关 App Hosting 的常见问题解答 (FAQ)。
App Hosting 常见问题解答
App Hosting 的一般限制和问题排查
- 修改了 Cache-Control 标头,将 CDN 缓存限制为 60 分钟;此限制将在产品正式发布后不久移除。
- App Hosting 的 CDN 只能在其缓存键中包含一组特定的请求标头。该列表包括 NextJS 的
RSC
、Next-Router-State-Tree
、Next-Router-Prefetch
、Next-Router-Segment-Prefetch
和Next-Url
标头,以及 Cloud CDN 的标准Accept
、Accept-Encoding
、Access-Control-Request-Headers
、Access-Control-Request-Method
、Origin
、Sec-Fetch-Dest
、Sec-Fetch-Mode
、Sec-Fetch-Site
、X-Goog-Allowed-Resources
和X-Origin
。如果响应包含Vary
标头,且值未在此处列出,我们的 CDN 将不会将其缓存。 - 未缓存的静态文件由 Cloud Run 提供;在较新版本中,它们将从 App Hosting 来源存储和提供,以便获得更好的性能。
- 在后端创建时,Firebase 控制台可能会不时显示“找不到 build 且 build 无效”错误。
- 同一项目中的所有后端都共用一个 GitHub 组织/账号。它们可以连接到该组织/账号下的不同代码库。如需创建与不同的 GitHub 账号关联的后端,请将它们放在单独的项目中。
Angular 应用限制和问题排查
虽然 App Hosting 对 Angular 的支持目前正在积极开发和扩展,但仍存在以下限制:
- I18n:虽然核心 I18n 功能可以正常运行,但直接导航到 SSR 页面可能会导致错误。
- 本地化:不支持针对不同语言区域构建版本。
- 构建器:目前仅支持应用构建器。
- 环境和 Monorepo 工具:具有多个应用目标的 Angular 项目将失败。如需更全面的 monorepo 支持,请使用 Nx。
Next.js 限制和问题排查
- 默认情况下,App Hosting 上停用了内置的 NextJS 图片优化,除非您明确将
images.unoptimized
设置为 false 或使用自定义图片加载器。请参阅优化 Next.js 中的图片加载。 - 包含百分比编码字符的网址路径由 Cloud Run 解码。这可能会导致仅预期使用编码网址路径的功能(例如 Next.js 并行路由)出现问题。
- 目前,App Hosting 会使用中间件限制 NextJS 应用的缓存。随着时间的推移,缓存命中率应该会提高。
- Cloud Run 会对包含百分号编码字符的网址路径进行解码。这可能会导致仅预期编码网址路径的功能出现问题,例如 Next.js 并行路由