よくある質問とトラブルシューティング

このページでは、App Hosting に関するよくある質問(FAQ)の回答を紹介します。

App Hosting よくある質問

App Hosting の一般的な制限事項とトラブルシューティング

  • Cache-Control ヘッダーが変更され、CDN キャッシュが 60 分に制限されるようになりました。この制限は、プロダクトの一般提供の開始後まもなく削除されます。
  • App Hosting の CDN は、キャッシュキーに特定のリクエスト ヘッダーのセットのみを指定できます。このリストには、NextJS の RSCNext-Router-State-TreeNext-Router-PrefetchNext-Router-Segment-PrefetchNext-Url ヘッダー、Cloud CDN の標準の AcceptAccept-EncodingAccess-Control-Request-HeadersAccess-Control-Request-MethodOriginSec-Fetch-DestSec-Fetch-ModeSec-Fetch-SiteX-Goog-Allowed-ResourcesX-Origin が含まれます。レスポンスに、ここに記載されていない値の Vary ヘッダーが含まれている場合、CDN はキャッシュに保存しません。
  • キャッシュに保存されていない静的ファイルは Cloud Run から提供されます。今後のリリースでは、パフォーマンスを向上させるため、App Hosting 送信元から保存および提供されます。
  • Firebase コンソールには、バックエンドの作成時に「ビルドが見つからず、無効です」というエラーが断続的に表示されることがあります。
  • 同じプロジェクト内のすべてのバックエンドは、GitHub 組織/アカウントを共有します。これらのリポジトリは、その組織/アカウント内の異なるリポジトリに接続できます。異なる GitHub アカウントに接続するバックエンドを作成するには、それらを別々のプロジェクトに配置します。

Angular アプリの制限事項とトラブルシューティング

Angular の App Hosting サポートは現在開発中であり、拡張されていますが、次のような制限があります。

  • I18n: コア I18n 機能は動作しますが、SSR ページに直接移動するとエラーが発生することがあります。
  • ローカライズ: 異なる言語 / 地域向けのバージョンのビルドはサポートされていません。
  • ビルダー: 現在、アプリケーション ビルダーのみがサポートされています。
  • 環境と Monorepo ツール: 複数のアプリケーション ターゲットがある Angular プロジェクトは失敗します。より完全な monorepo サポートが必要な場合は、Nx を使用します。

Next.js の制限事項とトラブルシューティング

  • デフォルトでは、images.unoptimized を明示的に false に設定するか、カスタムの Image Loader を使用しない限り、App Hosting で 組み込みの NextJS 画像最適化は無効になります。Next.js で画像の読み込みを最適化するをご覧ください。
  • パーセント エンコードされた文字を含む URL パスは、Cloud Run によってデコードされます。これにより、Next.js の並列ルーティングなど、エンコードされた URL パスのみを想定している機能で問題が発生する可能性があります。
  • 現在、App Hostingミドルウェアを使用して NextJS アプリのキャッシュを制限しています。時間の経過とともに、キャッシュ ヒット率は向上します。
  • パーセントエンコードされた文字を含む URL パスは、Cloud Run によってデコードされます。これにより、Next.js 並列ルーティングなど、エンコードされた URL パスのみを想定している機能で問題が発生する可能性があります。