Na tej stronie znajdziesz odpowiedzi na najczęstsze pytania dotyczące App Hosting.
App Hosting Najczęstsze pytania
Ogólne App Hosting ograniczenia i rozwiązywanie problemów
- Z powodu problemu z infrastrukturą Cloud Run tworzenie lub aktualizowanie zasobów może być wolniejsze niż oczekiwano w niektórych regionach, np.
us-central1. Jeśli opóźnienie wdrażania jest problemem w danym regionie, Google zaleca wdrożenie w innym regionie. - Sieć CDN App Hosting może uwzględniać w kluczach pamięci podręcznej tylko określony zestaw nagłówków żądań. Ta lista obejmuje nagłówki NextJS:
RSC,Next-Router-State-Tree,Next-Router-Prefetch,Next-Router-Segment-PrefetchiNext-Url, a także standardowe nagłówki Cloud CDN:Accept,Accept-Encoding,Access-Control-Request-Headers,Access-Control-Request-Method,Origin,Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,X-Goog-Allowed-ResourcesiX-Origin. Jeśli odpowiedź zawiera nagłówekVaryz wartością, której nie ma na tej liście, nasza sieć CDN nie będzie jej buforować. - Niebuforowane pliki statyczne są dostarczane z Cloud Run. W późniejszej wersji będą przechowywane i dostarczane z App Hosting, co zwiększy wydajność.
- Konsola Firebase może okresowo wyświetlać błąd „build was not found and is invalid” (nie znaleziono kompilacji, która jest nieprawidłowa) podczas tworzenia backendu.
- Wszystkie back-endy w tym samym projekcie współdzielą organizację lub konto GitHub. Mogą być połączone z różnymi repozytoriami w ramach tej organizacji lub tego konta. Aby utworzyć back-endy połączone z różnymi kontami GitHub, umieść je w osobnych projektach.
Ograniczenia aplikacji Angular i rozwiązywanie problemów
Chociaż App Hosting dla Angulara jest aktywnie rozwijany i ulepszana, ma te ograniczenia:
- I18n: podstawowe funkcje I18n działają, ale bezpośrednie przechodzenie do stron SSR może powodować błędy.
- Lokalizacja: tworzenie wersji dla różnych regionów nie jest obsługiwane.
- Kreatory: obecnie obsługiwany jest tylko kreator aplikacji.
- Środowiska i narzędzia Monorepo: projekty Angulara, które mają więcej niż 1 aplikację docelową, nie będą działać. Aby uzyskać pełniejsze wsparcie dla monorepo, użyj Nx.
Błędy HTTP 400 i zaufanie serwera proxy w Angular SSR
Jeśli aplikacja Angular wdrożona w Firebase App Hosting napotyka błędy HTTP 400 (Nieprawidłowe żądanie), blokery weryfikacji hosta lub błędy zaufania serwera proxy, zastosuj zalecane rozwiązanie dla swojej wersji Angulara:
- Angular w wersjach 19, 20 i 21: te błędy HTTP 400 możesz rozwiązać na 2 sposoby:
- Uaktualnij zależności: uruchom
npm update @angular/core @angular/ssr, aby zainstalować najnowszą wersję poprawki dla bieżącej wersji Angulara. - Konfiguracja ręczna: zastosuj rezerwowe ustawienia konfiguracji na poziomie kodu, ustawiając
trustProxyHeaders: truew konfiguracji serwera (więcej informacji znajdziesz w sekcji Konfigurowanie nagłówków zaufanego serwera proxy w dokumentacji Angulara).
- Uaktualnij zależności: uruchom
- Angular w wersji 22: pierwsza kompilacja w nowym backendzie może zwracać błędy 400. Aby rozwiązać ten problem, wygeneruj drugą kompilację. Wszystkie kolejne kompilacje powinny działać prawidłowo.
Ograniczenia Next.js i rozwiązywanie problemów
- Domyślnie wbudowana optymalizacja obrazów NextJS jest wyłączona w usłudze App Hosting, chyba że jawnie ustawisz wartość
images.unoptimizedna false lub użyjesz niestandardowego modułu wczytującego obrazy.Więcej informacji znajdziesz w artykule Optymalizowanie wczytywania obrazów w Next.js. - Ścieżki URL zawierające znaki zakodowane za pomocą procentów są dekodowane przez Cloud Run. Może to powodować problemy z funkcjami, które oczekują tylko zakodowanych ścieżek URL, np. z równoległym routingiem Next.js.
- Obecnie App Hosting ogranicza buforowanie aplikacji NextJS przy użyciu middleware. Z czasem współczynnik trafień w pamięci podręcznej powinien się zwiększać.
- Ścieżki adresów URL zawierające znaki zakodowane za pomocą procentów są dekodowane przez Cloud Run. Może to powodować problemy z funkcjami, które oczekują tylko zakodowanych ścieżek adresów URL, np. z równoległym routingiem w Next.js.