package.json がないためビルド / デプロイに失敗した
Node.js アプリのルート ディレクトリには package.json
ファイルが必要です。package.json
を用意せずにプロキシを作成またはデプロイしようとすると、ビルド時に失敗します。
プロキシから 502 Bad Gateway が返される
プロセスの起動に失敗すると、「502 Bad Gateway」エラーが起きる可能性があります。これをデバッグするには、ランタイムログをチェックし、起動時のエラー メッセージを探します。よくあるエラーとして、package.json
に開始コマンドが含まれていない、または開始コマンドが無効であることが挙げられます。少なくとも、package.json
の scripts
プロパティで "start": "node ."
を指定する必要があります。例:
{ "name": "hello-world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node ." }, "author": "", "license": "", "description": "Hello World Application", "dependencies": { } }
プロキシがハングアップして、504 Gateway Timeout が返される
Hosted Targets のターゲット アプリがタイムアウト制限内に応答しないと、「504 Gateway Timeout」エラーが起きる可能性があります。アプリケーションが環境変数 PORT
に設定されたポートをリッスンしていることを確認します。この変数にアクセスするには、アプリケーションで process.env.PORT
を使用します。それ以外では、ランタイムログで他のエラー メッセージを確認できます。アプリケーション ランタイムで設定される環境変数もご覧ください。
また、Google App Engine(GAE)では 60 秒でリクエストがタイムアウトします。GAE ドキュメントの割り当てと上限もご覧ください。
パス内の文字が無効である
Hosted Targets を使用してプロキシをデプロイするときに次のようなエラーが表示される場合は、プロキシ名の中にスペースが含まれている可能性があります。Hosted Targets ではプロキシ名にスペースを使用することはできません。
Illegal character in path at index 69: https://my-domain.net/organizations/my-org/apps/MD5 Hash/revision/1733635923