常見問題與疑難排解

本頁面提供 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 應用程式限制和疑難排解

雖然 App Hosting 對 Angular 的支援正在積極開發和擴充,但仍有下列限制:

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

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

如果部署在 Firebase App Hosting 的 Angular 應用程式發生 HTTP 400 (錯誤的要求) 錯誤、主體驗證封鎖工具或 Proxy 信任失敗,請按照 Angular 版本的建議解決方案操作:

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

Next.js 限制與疑難排解