SSS ve sorun giderme

Bu sayfada, App Hosting hakkında sık sorulan soruların (SSS) yanıtları yer almaktadır.

App Hosting SSS

Genel App Hosting sınırlamalar ve sorun giderme

  • Cloud Run altyapısındaki bir sorun nedeniyle, kaynak oluşturma veya güncelleme işlemleri us-central1 gibi bazı bölgelerde beklenenden daha yavaş olabilir. Belirli bir bölgede dağıtım gecikmesi sorun oluşturuyorsa Google, başka bir bölgeye dağıtım yapmanızı önerir.
  • App Hosting'nın CDN'si, önbellek anahtarlarına yalnızca belirli bir istek başlığı grubunu dahil edebilir. Bu listede NextJS'in RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch ve Next-Url başlıklarının yanı sıra Cloud CDN'nin standart 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 ve X-Origin başlıkları yer alır. Bir yanıtta burada listelenmeyen bir değere sahip Vary başlığı varsa CDN'miz bunu önbelleğe almaz.
  • Önbelleğe alınmamış statik dosyalar Cloud Run konumundan sunulur. Daha sonraki bir sürümde, daha iyi performans için App Hosting kaynağında depolanıp sunulacaktır.
  • Firebase konsolu, arka uç oluşturma sırasında aralıklı olarak "build was not found and is invalid" (derleme bulunamadı ve geçersiz) hatası gösterebilir.
  • Aynı projedeki tüm arka uçlar, bir GitHub kuruluşunu/hesabını paylaşır. Bu kuruluş/hesap altındaki farklı depolara bağlanabilirler. Farklı GitHub hesaplarına bağlı arka uçlar oluşturmak için bu arka uçları ayrı projelere yerleştirin.

Angular uygulaması sınırlamaları ve sorun giderme

Angular için App Hosting desteği aktif olarak geliştirilmekte ve genişletilmekte olsa da aşağıdaki sınırlamaları vardır:

  • Uluslararasılaştırma: Temel uluslararasılaştırma işlevleri çalışsa da SSR sayfalarına doğrudan gitmek hatalara neden olabilir.
  • Yerelleştirme: Farklı yerel ayarlar için sürüm oluşturma desteklenmez.
  • Oluşturucular: Şu anda yalnızca uygulama oluşturucu desteklenmektedir.
  • Ortamlar ve Monorepo Araçları: Birden fazla uygulama hedefi olan Angular projeleri başarısız olur. Daha kapsamlı monorepo desteği için Nx'i kullanın.

Angular SSR'de HTTP 400 Hataları ve Proxy Güveni

Firebase App Hosting üzerine dağıtılan Angular uygulamanızda HTTP 400 (Bad Request) hataları, ana makine doğrulama engelleyicileri veya proxy güveni hataları oluşursa Angular sürümünüz için önerilen çözümü uygulayın:

  • Angular v19, v20 ve v21: Bu HTTP 400 hatalarını çözmek için iki seçeneğiniz vardır:
    • Bağımlılıkları yükseltme: Mevcut Angular sürümünüz için en son yama sürümünü yüklemek üzere npm update @angular/core @angular/ssr komutunu çalıştırın.
    • Manuel yapılandırma: Sunucu yapılandırmanızda trustProxyHeaders: true değerini ayarlayarak kod düzeyinde bir yapılandırma geri dönüşü uygulayın (Angular belgelerindeki Güvenilir proxy başlıklarını yapılandırma bölümüne bakın).
  • Angular v22: Yeni bir arka uçtaki ilk derleme 400 hatası döndürebilir. Sorunu çözmek için ikinci bir derleme oluşturun. Sonraki tüm derlemeler beklendiği gibi çalışmalıdır.

Next.js sınırlamaları ve sorun giderme

  • Yerleşik NextJS resim optimizasyonu, images.unoptimized değerini açıkça false olarak ayarlamadığınız veya özel bir Image Loader kullanmadığınız sürece App Hosting'de varsayılan olarak devre dışıdır.Next.js'te resim yüklemeyi optimize etme başlıklı makaleyi inceleyin.
  • Yüzde kodlamalı karakterler içeren URL yollarının kodu Cloud Run tarafından çözülür. Bu durum, yalnızca kodlanmış URL yollarının beklendiği özelliklerde (ör. Next.js paralel yönlendirme) sorunlara neden olabilir.
  • Şu anda App Hosting, middleware kullanan NextJS uygulamaları için önbelleğe almayı sınırlandırmaktadır. Zamanla önbellek isabet oranları artar.
  • Yüzde kodlu karakterler içeren URL yollarının kodu Cloud Run tarafından çözülür. Bu durum, yalnızca kodlanmış URL yolları bekleyen özelliklerle (ör. Next.js paralel yönlendirme) ilgili sorunlara neden olabilir.