На этой странице представлены ответы на часто задаваемые вопросы (FAQ) о App Hosting .
Часто задаваемые вопросы App Hosting
Общие ограничения и способы устранения неполадок App Hosting
- Из-за проблемы в инфраструктуре Cloud Run создание или обновление ресурсов может происходить медленнее, чем ожидалось, в некоторых регионах, например, в регионе
us-central1. Если задержка развертывания является проблемой в конкретном регионе, Google рекомендует развернуть приложение в другом регионе. - CDN App Hosting может включать в свои ключи кэширования только определенный набор заголовков запроса. Этот список включает заголовки NextJS
RSC,Next-Router-State-Tree,Next-Router-Prefetch,Next-Router-Segment-PrefetchиNext-Url, а также стандартные заголовки Cloud CDNAccept,Accept-Encoding,Access-Control-Request-Headers,Access-Control-Request-Method,Origin,Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,X-Goog-Allowed-ResourcesиX-Origin. Если ответ содержит заголовокVaryсо значением, не указанным в этом списке, наш CDN не будет его кэшировать. - Некэшированные статические файлы обслуживаются из Cloud Run ; в более поздней версии они будут храниться и обслуживаться из источника App Hosting для повышения производительности.
- В консоли Firebase при создании бэкэнда может периодически появляться ошибка «сборка не найдена и является недействительной».
- Все бэкенды в одном проекте используют одну и ту же организацию/учетную запись GitHub. Они могут быть подключены к разным репозиториям в рамках этой организации/учетной записи. Чтобы создать бэкенды, подключенные к разным учетным записям GitHub, поместите их в отдельные проекты.
Ограничения и устранение неполадок в приложениях Angular
Несмотря на то, что поддержка Angular в App Hosting активно разрабатывается и расширяется, она имеет следующие ограничения:
- Интернационализация (I18n ): Хотя основные функции интернационализации работают, прямая навигация на страницы SSR может привести к ошибкам.
- Локализация : Создание версий для разных языковых версий не поддерживается.
- Конструкторы : В настоящее время поддерживается только конструктор приложений.
- Инструменты для работы с средами разработки и монорепозиториями : проекты Angular, имеющие более одного целевого приложения, будут давать сбой. Для более полной поддержки монорепозиториев используйте Nx.
Ошибки HTTP 400 и доверие к прокси в Angular SSR
Если ваше Angular-приложение, развернутое на Firebase App Hosting сталкивается с ошибками HTTP 400 (Bad Request), блокировками проверки хоста или сбоями доверия к прокси-серверу, следуйте рекомендуемому решению для вашей версии Angular:
- Angular v19, v20 и v21 : Существует два способа устранения ошибок HTTP 400:
- Обновите зависимости: выполните
npm update @angular/core @angular/ssr, чтобы установить последнюю версию Angular для вашей текущей версии. - Ручная настройка: Примените резервный вариант настройки на уровне кода, установив параметр
trustProxyHeaders: trueв конфигурации сервера (см. раздел «Настройка заголовков доверенного прокси» в документации Angular).
- Обновите зависимости: выполните
- Angular v22 : Первая сборка нового бэкенда может выдавать ошибку 400. Для решения проблемы создайте вторую сборку. Все последующие сборки должны работать должным образом.
Ограничения и устранение неполадок Next.js
- По умолчанию встроенная оптимизация изображений NextJS отключена на хостинге приложений, если вы явно не установите параметр
images.unoptimizedв значение false или не используете собственный загрузчик изображений. См. раздел «Оптимизация загрузки изображений в Next.js» . - URL-адреса, содержащие символы, закодированные с помощью процентного кодирования, декодируются Cloud Run . Это может вызвать проблемы с функциями, которые ожидают только закодированные URL-адреса, например, с параллельной маршрутизацией Next.js.
- В настоящее время App Hosting ограничивает кэширование для приложений NextJS с помощью промежуточного ПО . Со временем показатели попадания в кэш должны улучшиться.
- Пути URL, содержащие символы, закодированные с помощью процентного кодирования, декодируются Cloud Run. Это может вызвать проблемы с функциями, которые ожидают только закодированные пути URL, такими как параллельная маршрутизация Next.js.