常見問題與疑難排解

本頁面提供有關App Hosting的常見問題解答。

App Hosting 常見問題

一般App Hosting限制和疑難排解

  • 由於Cloud Run基礎架構發生問題,在部分區域 (例如us-central1),建立或更新資源的速度可能會比預期慢。如果特定區域的部署延遲時間過長,Google 建議部署至其他區域。
  • 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 應用程式限制和疑難排解

雖然我們正積極開發及擴大支援 Angular 的 App Hosting,但目前仍有下列限制:

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

Angular SSR 中的 HTTP 400 錯誤和 Proxy 信任

如果部署在 Firebase App Hosting 的 Angular 應用程式遇到 HTTP 400 (Bad Request) 錯誤、主機驗證阻斷器或 Proxy 信任失敗,請按照 Angular 版本採用建議的解決方案:

  • Angular v19、v20 和 v21:您可以透過兩種方式解決這些 HTTP 400 錯誤:
    • 升級依附元件:執行 npm update @angular/core @angular/ssr,為目前的 Angular 版本安裝最新修補程式版本。
    • 手動設定:在伺服器設定中設定 trustProxyHeaders: true,套用程式碼層級的設定備援 (請參閱 Angular 說明文件中的「設定信任的 Proxy 標頭」)。
  • Angular v22:在新後端上首次建構時,可能會傳回 400 錯誤。 如要解決這個問題,請產生第二個建構版本。後續所有建構作業都應正常運作。

Next.js 限制與疑難排解