9

デフォルトのポート 3000 を使用し、エラスティック IP によって Ubuntu EC2 インスタンスで正常に応答する Node.js Express Web アプリがあります。AWS に組み込まれたロード バランシングをセットアップしようとしていますが、適切なヘルス チェックに合格できないようです

ポート3000でアプリを正常にサーバーする2つのubuntuサーバーをセットアップします。

ポート 80 のロード バランサー リスナーをインスタンス ポート 3000 にルーティングするように設定し、3000 から 3000 へのルーティングも試行しました。

念のため、amazon-elb/amazon-elb-sg セキュリティ グループをインスタンス セキュリティ グループに追加しました。

ヘルス チェックをポート 80 に設定し、3000 をプロジェクト内の多くの有効な URL に設定します。

私がここに欠けているものはありますか?

アップデート:

それは私が見落としていた最も単純なことでした。どういうわけか、実際のインスタンスは 80 しか開いていないセキュリティ グループにあり、3000 を開くルールを追加する必要がありました。それを見逃したとは信じられません。

4

1 に答える 1

4

ポート 80 の着信リクエストをバックエンド インスタンスのポート 3000 に転送するためだけにロード バランサーを設定している場合、80 以外のポートを試しても応答が得られないはずです。ポート 3000 に対してリクエストを行っている場合 (つまり、http://yourdomain.com:3000/uri ) ロードバランサーで、ポート 3000 の受信リクエストもインスタンスのポート 3000 に転送する必要があります。

インスタンスでポート 3000 のみを使用している場合は、ヘルスチェックがポート 3000 を指していることを確認する必要があります (つまり、TCP ping 3000、または/pingサービスに対するポート 3000 への HTTP)。

于 2012-10-01T15:38:35.667 に答える