本頁面提供 App Hosting 常見問題 (FAQ) 的解答。
App Hosting 常見問題
一般 App Hosting 限制和疑難排解
- 我們已修改 Cache-Control 標頭,將 CDN 快取時間限制為 60 分鐘;這項限制會在產品 GA 推出後立即移除。
- 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 主控台在建立後端時,可能會間歇性顯示「找不到並且無效的版本」錯誤。
- 同一個專案中的所有後端都會共用 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 平行路由