FAQ dan pemecahan masalah

Halaman ini berisi jawaban atas pertanyaan umum (FAQ) tentang App Hosting.

App Hosting FAQ

Batasan dan pemecahan masalah umum App Hosting

  • Karena masalah pada Cloud Run infrastruktur, pembuatan atau pembaruan resource mungkin lebih lambat dari yang diharapkan di beberapa region seperti us-central1. Jika latensi deployment menjadi masalah di region tertentu, Google merekomendasikan deployment ke region lain.
  • CDN App Hosting hanya dapat menyertakan kumpulan header permintaan tertentu dalam kunci cache-nya. Daftar tersebut mencakup header RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch, dan Next-Url NextJS, serta 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, dan X-Origin standar Cloud CDN. Jika respons berisi header Vary dengan nilai yang tidak tercantum di sini, CDN kami tidak akan meng-cache-nya.
  • File statis yang tidak di-cache akan ditayangkan dari Cloud Run; dalam rilis mendatang, file tersebut akan disimpan dan ditayangkan dari origin App Hosting untuk performa yang lebih baik.
  • Konsol Firebase mungkin sesekali menampilkan error "build was not found and is invalid" saat pembuatan backend.
  • Semua backend dalam project yang sama berbagi organisasi/akun GitHub. Backend tersebut dapat terhubung ke repositori yang berbeda di bawah organisasi/akun tersebut. Untuk membuat backend yang terhubung ke akun GitHub yang berbeda, tempatkan backend tersebut dalam project terpisah.

Batasan dan pemecahan masalah aplikasi Angular

Meskipun dukungan App Hosting untuk Angular sedang dalam pengembangan aktif dan terus diperluas, dukungan ini memiliki batasan berikut:

  • I18n: Meskipun fungsi I18n inti berfungsi, navigasi langsung ke halaman SSR dapat menyebabkan error.
  • Pelokalan: Pembuatan versi untuk lokal yang berbeda tidak didukung.
  • Builder: Saat ini, hanya builder Aplikasi yang didukung.
  • Lingkungan dan Alat Monorepo: Project Angular yang memiliki lebih dari satu target aplikasi akan gagal. Untuk dukungan monorepo yang lebih lengkap, gunakan Nx.

Error HTTP 400 dan Kepercayaan Proxy di Angular SSR

Jika aplikasi Angular yang di-deploy di Firebase App Hosting mengalami error HTTP 400 (Bad Request), pemblokir validasi host, atau kegagalan kepercayaan proxy, ikuti solusi yang direkomendasikan untuk versi Angular Anda:

  • Angular v19, v20, dan v21: Anda memiliki dua cara untuk mengatasi error HTTP 400 ini:
    • Upgrade dependensi: Jalankan npm update @angular/core @angular/ssr untuk menginstal rilis patch terbaru untuk versi Angular Anda saat ini.
    • Konfigurasi manual: Terapkan penggantian konfigurasi tingkat kode dengan menetapkan trustProxyHeaders: true dalam konfigurasi server Anda (lihat Mengonfigurasi header proxy tepercaya dalam dokumentasi Angular).
  • Angular v22: Build pertama di backend baru mungkin menampilkan error 400. Untuk mengatasi masalah ini, buat build kedua. Semua build berikutnya akan berfungsi sesuai harapan.

Batasan dan pemecahan masalah Next.js

  • Secara default, pengoptimalan gambar NextJS bawaan dinonaktifkan di App Hosting kecuali jika Anda menetapkan images.unoptimized ke false secara eksplisit atau menggunakan Pemuat Gambar kustom. Lihat Mengoptimalkan pemuatan gambar di Next.js.
  • Jalur URL yang berisi karakter yang dienkode dengan persentase akan didekode oleh Cloud Run. Hal ini dapat menyebabkan masalah pada fitur yang hanya mengharapkan jalur URL yang dienkode, seperti perutean paralel Next.js.
  • Saat ini, App Hosting membatasi penyimpanan cache untuk aplikasi NextJS menggunakan middleware. Seiring waktu, rasio cache ditemukan akan meningkat.
  • Jalur URL yang berisi karakter yang dienkode dengan persentase akan didekode oleh Cloud Run. Hal ini dapat menyebabkan masalah pada fitur yang hanya mengharapkan jalur URL yang dienkode, seperti perutean paralel Next.js