NodeJS、MongoDB(ドライバとしてのMongoose)、ExpressJSを使用した完全なWebアプリケーションがあります。NodeJSのGoogle App Engine 502(不良ゲートウェイ)
プロジェクトは私のローカルマシンで完全に動作します。今日私はすべてを生産に移すことに決めました。私は私のアプリケーションをホストするためにGoogle App Engineを使用していて、Compose(正式にはMongoHQ)を使ってデータベースをホストしています。
私のAPIは機能していませんが、App Engineは完全にアプリケーションです。私のAPIはexample.com/api
から提供され、各リクエスト(GET
、POST
、DELETE
、PUT
)はすべて502(Bad Gateway)エラーを返します。
リモートMongoDBデータベースに接続しているときにローカルマシンでアプリケーションを実行しようとしましたが、正常に動作しました。したがって、MongoDBではなく、App EngineまたはNodeJSの問題である必要があります。
私はGoogle Cloud内のすべてのエラーログを確認しようとしましたが、エラーはありません。
私のAPIへのリクエストは許可されませんが、App Engine/NodeJSはアプリケーションの静的コンテンツを完全にうまく扱うのはなぜですか?
はさてここで、プロットツイストだ8080ポートでサーバーがリッスンことを確認してください。私の 'app.yaml'ファイルに' manual_scaling:instances:5'を追加し、それを展開することで問題全体が修正されました。それがどうしていいのか? – Fizzix
画像のアップロードなど、より高度なAPIにアクセスしようとすると、まだ失敗します。これはおそらく私のAPIに大きなBase64文字列を送るためです。サーバーAPIに送信できるデータの量を増やす方法はありますか? – Fizzix
うわー、私はmanual_scalingを意味していただけです。インスタンスは5ではなく1に設定されています!そうすれば、あなたはあなたが何を見ているのかを確実に知ることができます。私はまだあなたがエラーログを見つけることができないかどうかを確認するためにこれらの手順の残りの部分に従います。とにかく、あなたのパケットがバッファーにとって大きすぎる場合は、直接増やす方法がないので、複数のパケットに送信する必要があるデータをどのように分割するのが最善かを判断することです。 –