Auf dieser Seite finden Sie Antworten auf häufig gestellte Fragen zu App Hosting.
App Hosting Häufig gestellte Fragen
Allgemeine App Hosting-Einschränkungen und Fehlerbehebung
- Aufgrund eines Problems in der Cloud Run-Infrastruktur kann das Erstellen oder Aktualisieren von Ressourcen in einigen Regionen wie
us-central1länger als erwartet dauern. Wenn die Bereitstellungslatenz in einer bestimmten Region ein Problem darstellt, empfiehlt Google, die Bereitstellung in einer anderen Region vorzunehmen. - Das CDN von App Hosting kann nur eine bestimmte Gruppe von Anfrageheadern in seine Cache-Schlüssel aufnehmen. Diese Liste enthält die NextJS-Header
RSC,Next-Router-State-Tree,Next-Router-Prefetch,Next-Router-Segment-PrefetchundNext-Urlsowie die Cloud CDN-StandardheaderAccept,Accept-Encoding,Access-Control-Request-Headers,Access-Control-Request-Method,Origin,Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,X-Goog-Allowed-ResourcesundX-Origin. Wenn eine Antwort einenVary-Header mit einem hier nicht aufgeführten Wert enthält, wird sie von unserem CDN nicht im Cache gespeichert. - Nicht im Cache gespeicherte statische Dateien werden über Cloud Run bereitgestellt. In einer späteren Version werden sie zur Leistungsverbesserung im App Hosting-Ursprung gespeichert und von dort bereitgestellt.
- In der Firebase-Konsole wird bei der Back-End-Erstellung möglicherweise zeitweise der Fehler „Build wurde nicht gefunden und ist ungültig“ angezeigt.
- Alle Back-Ends im selben Projekt nutzen dieselbe GitHub-Organisation bzw. dasselbe GitHub-Konto. Sie können mit verschiedenen Repositorys unter dieser Organisation/diesem Konto verbunden werden. Wenn Sie Back-Ends erstellen möchten, die mit verschiedenen GitHub-Konten verbunden sind, müssen Sie sie in separate Projekte einfügen.
Einschränkungen und Fehlerbehebung bei Angular-Apps
Die App Hosting-Unterstützung für Angular wird zwar aktiv weiterentwickelt und ausgebaut, unterliegt aber den folgenden Einschränkungen:
- I18n: Die grundlegenden I18n-Funktionen funktionieren, die direkte Navigation zu SSR-Seiten kann jedoch zu Fehlern führen.
- Lokalisierung: Das Erstellen von Versionen für verschiedene Sprachen wird nicht unterstützt.
- Builders: Derzeit wird nur der Application Builder unterstützt.
- Umgebungen und Monorepo-Tools: Angular-Projekte mit mehr als einem Anwendungsziel schlagen fehl. Für eine umfassendere Unterstützung von Monorepos verwenden Sie Nx.
HTTP-Fehler 400 und Proxy-Vertrauenswürdigkeit in Angular SSR
Wenn in Ihrer auf Firebase App Hosting bereitgestellten Angular-Anwendung HTTP 400-Fehler (Bad Request), Hostvalidierungsblocker oder Proxy-Vertrauensfehler auftreten, folgen Sie der empfohlenen Lösung für Ihre Angular-Version:
- Angular v19, v20 und v21: Sie haben zwei Möglichkeiten, diese HTTP 400-Fehler zu beheben:
- Abhängigkeiten aktualisieren: Führen Sie
npm update @angular/core @angular/ssraus, um die neueste Patchversion für Ihre aktuelle Angular-Version zu installieren. - Manuelle Konfiguration: Wenden Sie einen Konfigurations-Fallback auf Codeebene an, indem Sie
trustProxyHeaders: truein Ihrer Serverkonfiguration festlegen (siehe Trusted-Proxy-Header konfigurieren in der Angular-Dokumentation).
- Abhängigkeiten aktualisieren: Führen Sie
- Angular v22: Der erste Build auf einem neuen Backend kann 400-Fehler zurückgeben. Generieren Sie einen zweiten Build, um das Problem zu beheben. Alle nachfolgenden Builds sollten wie vorgesehen funktionieren.
Next.js-Einschränkungen und Fehlerbehebung
- Standardmäßig ist die integrierte NextJS-Bildoptimierung für App Hosting deaktiviert, sofern Sie
images.unoptimizednicht explizit auf „false“ setzen oder einen benutzerdefinierten Image Loader verwenden. Weitere Informationen - URL-Pfade, die als Prozentwert codierte Zeichen enthalten, werden von Cloud Run decodiert. Dies kann zu Problemen mit Funktionen führen, die nur codierte URL-Pfade erwarten, z. B. das parallele Routing von Next.js.
- Derzeit schränkt App Hosting das Caching für NextJS-Apps mit Middleware ein. Im Laufe der Zeit sollten sich die Cache-Trefferquoten verbessern.
- URL-Pfade, die prozentcodierte Zeichen enthalten, werden von Cloud Run decodiert. Dies kann zu Problemen mit Funktionen führen, die nur codierte URL-Pfade erwarten, z. B. paralleles Routing in Next.js.