常見問題與疑難排解

本頁面提供 App Hosting 常見問題 (FAQ) 的解答。

App Hosting 常見問題

一般 App Hosting 限制和疑難排解

  • 我們已修改 Cache-Control 標頭,將 CDN 快取時間限制為 60 分鐘;這項限制會在產品 GA 推出後立即移除。
  • App Hosting 的 CDN 只能在快取金鑰中加入特定要求標頭組合。該清單包含 NextJS 的 RSCNext-Router-State-TreeNext-Router-PrefetchNext-Router-Segment-PrefetchNext-Url 標頭,以及 Cloud CDN 的標準 AcceptAccept-EncodingAccess-Control-Request-HeadersAccess-Control-Request-MethodOriginSec-Fetch-DestSec-Fetch-ModeSec-Fetch-SiteX-Goog-Allowed-ResourcesX-Origin。如果回應包含 Vary 標頭,但值不在上述清單中,我們的 CDN 就不會快取該標頭。
  • 未快取的靜態檔案會由 Cloud Run 提供;在較新版本中,這些檔案會從 App Hosting 來源儲存及提供,以提升效能。
  • Firebase 主控台在建立後端時,可能會間歇性顯示「找不到並且無效的版本」錯誤。
  • 同一個專案中的所有後端都會共用 GitHub 機構/帳戶。這些檔案可連結至該機構/帳戶下的不同存放區。如要建立與不同 GitHub 帳戶連結的後端,請將這些後端放入不同的專案。

Angular 應用程式限制和疑難排解

雖然 App Hosting 支援 Angular 的功能正在積極開發中,且會持續擴充,但仍有下列限制:

  • I18n:核心 I18n 功能可正常運作,但直接前往 SSR 頁面可能會導致錯誤。
  • 本地化:不支援為不同語言代碼建立版本。
  • 建構工具:目前僅支援應用程式建構工具。
  • 環境和 Monorepo 工具:如果 Angular 專案有多個應用程式目標,就會失敗。如需更完整的單一版本庫支援,請使用 Nx。

Next.js 限制與疑難排解

  • 根據預設,除非您明確將 images.unoptimized 設為 false,或使用自訂的 Image Loader,否則 App Hosting 會停用內建的 NextJS 圖片最佳化功能。請參閱「在 Next.js 中最佳化圖片載入」一文。
  • Cloud Run 會解碼含有百分比編碼字元的網址路徑。這可能會導致僅預期經過編碼的網址路徑的功能發生問題,例如 Next.js 平行路由。
  • 目前,App Hosting 會使用中介軟體限制 NextJS 應用程式的快取功能。隨著時間過去,快取命中率應會提高。
  • Cloud Run 會對包含百分比編碼字元的網址路徑進行解碼。這可能會導致只預期已編碼網址路徑的功能發生問題,例如 Next.js 平行路由