FAQ et dépannage

Cette page répond aux questions fréquentes sur App Hosting.

App Hosting Questions fréquentes

Limites générales et dépannage de App Hosting

  • En raison d'un problème dans l'infrastructure Cloud Run, la création ou la mise à jour de ressources peut être plus lente que prévu dans certaines régions, comme us-central1. Si la latence de déploiement pose problème dans une région spécifique, Google vous recommande de déployer dans une autre région.
  • Le CDN de App Hosting ne peut inclure qu'un ensemble spécifique d'en-têtes de requête dans ses clés de cache. Cette liste inclut les en-têtes RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch, et Next-Url de NextJS, ainsi que les en-têtes standards 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, et X-Origin de Cloud CDN. Si une réponse contient un en-tête Vary avec une valeur qui n'est pas listée ici, notre CDN ne la mettra pas en cache.
  • Les fichiers statiques non mis en cache sont diffusés à partir de Cloud Run. Dans une version ultérieure, ils seront stockés et diffusés à partir de l'origine App Hosting pour de meilleures performances.
  • La console Firebase peut afficher par intermittence une erreur "build was not found and is invalid" (build introuvable et non valide) lors de la création du backend.
  • Tous les backends d'un même projet partagent une organisation/un compte GitHub. Ils peuvent être connectés à différents dépôts sous cette organisation/ce compte. Pour créer des backends connectés à différents comptes GitHub, placez-les dans des projets distincts.

Limites et dépannage des applications Angular

Bien que la compatibilité App Hosting avec Angular soit en cours de développement et en expansion, elle présente les limites suivantes :

  • I18n : bien que la fonctionnalité I18n de base fonctionne, la navigation directe vers les pages SSR peut entraîner des erreurs.
  • Localisation : la création de versions pour différentes langues n'est pas prise en charge.
  • Builders : seul le compilateur d'applications est actuellement compatible.
  • Environnements et outils Monorepo : les projets Angular qui comportent plus d' une cible d'application échouent. Pour une compatibilité plus complète avec Monorepo, utilisez Nx.

Erreurs HTTP 400 et confiance du proxy dans Angular SSR

Si votre application Angular déployée sur Firebase App Hosting rencontre des erreurs HTTP 400 (requête incorrecte), des bloqueurs de validation d'hôte ou des échecs de confiance du proxy , suivez la solution recommandée pour votre version d'Angular :

  • Angular v19, v20 et v21 : vous pouvez résoudre ces erreurs HTTP 400 de deux manières :
    • Mettre à niveau les dépendances : exécutez npm update @angular/core @angular/ssr pour installer la dernière version de correctif pour votre version actuelle d'Angular.
    • Configuration manuelle : appliquez une configuration de secours au niveau du code en définissant trustProxyHeaders: true dans la configuration de votre serveur (consultez Configurer des en-têtes de proxy de confiance dans la documentation Angular).
  • Angular v22 : la première compilation sur un nouveau backend peut renvoyer des erreurs 400. Pour résoudre le problème, générez une deuxième compilation. Toutes les compilations suivantes devraient fonctionner comme prévu.

Limites et dépannage de Next.js

  • Par défaut, l'optimisation d'image NextJS intégrée est désactivée sur l'hébergement d'applications, sauf si vous définissez explicitement images.unoptimized sur "false" ou si vous utilisez un chargeur d'images personnalisé. Consultez Optimiser le chargement d'images sur Next.js.
  • Les chemins d'URL contenant des caractères encodés en pourcentage sont décodés par Cloud Run. Cela peut entraîner des problèmes avec les fonctionnalités qui n'attendent que des chemins d'URL encodés, comme le routage parallèle Next.js.
  • Pour le moment, App Hosting limite la mise en cache des applications NextJS à l'aide de middleware. Au fil du temps, les taux de succès de cache devraient s'améliorer.
  • Les chemins d'URL contenant des caractères encodés en pourcentage sont décodés par Cloud Run. Cela peut entraîner des problèmes avec les fonctionnalités qui n'attendent que des chemins d'URL encodés, comme le routage parallèle Next.js.