常見問題與疑難排解

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

App Hosting 常見問題

一般App Hosting限制和疑難排解

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

雖然我們正積極開發及擴充 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 限制和疑難排解