web-dev-qa-db-ja.com

ロードバランサーなしのEC2インスタンスのAWS SSL-NodeJS

port 443なしでload balancerをリッスンするEC2インスタンスを実行することは可能ですか?現在Node.JSアプリで試していますが、https://を使用してページを呼び出すと機能しません。ただし、port 80に設定すると、http://ですべて正常に動作します。

load balancerroute53を使用して以前に動作させていましたが、特に1台のサーバーしか実行していない場合は、ELBに月額18ドルを支払う必要はありません。

助けてくれてありがとう

15
Thomas

そうです、それが唯一のインスタンスであり、トラフィックの大幅な増加に備える必要がないと感じている場合は、ELBを支払う必要はありません。

高レベルの観点からは、次の手順を実行する必要があります。

  1. NodeJSアプリケーションを提供するnginxサーバーをインストールします。
  2. SSL証明書をnginxサーバーにインストールします。

    -これを手動で行うか、サーバーにsshして、説明に従って証明書をインストールします here

    -ORアプリケーションに必要なファイルを含めます(これはElastic Beanstalkでのみ機能すると思いますか?)これにより、説明されているようにnginx設定ファイルが自動的に上書きされます こちら

  3. Nginxがポート443でリッスンしていることを確認します(前の手順で完了しているはずです)。
  4. トラフィックをサーバーに入力する場所に対応するEC2サーバーのセキュリティグループを開きます(ポート80 /ポート443)
8
Tom Nijs

出来ますか?はい、もちろん。 ELBにSSL証明書がインストールされていて、ELBを削除したようです。 EC2サーバーにSSL証明書をインストールする必要があります。 ELBまたはCloudFrontディストリビューションがないと、AWS ACM SSL証明書を使用できません。これらのサービスのいずれにも支払いたくない場合は、別の場所でSSL証明書を取得する必要があります。

10
Mark B

私たちのプロジェクトでは(他のポスターと同じように)、次の設定を使用しました。

  1. ロードバランサーおよびポート80でのすべての呼び出しのプロキシとしてのnginx(公開されているポート3000でのnode.jsサーバーへの直接呼び出しなし)
  2. node.js(およびデプロイメント)のプロセスマネージャとしてのpm2
  3. 監視用のkeymetrics.io
  4. Nodejs v6.9.3 Boron/lts(NVM経由)
  5. Mongodb 3.2 with WiredTiger Engine(Compose.io)
  6. ホスティング用のAmazon EC2インスタンス(UbuntuではなくAmazon Linux)

この設定は私たちにとって非常にうまく機能します。この設定では、Amazonロードバランサーを使用せずにSSLを設定できます。

0
petergi

私たちのプロジェクトでは、次のものを使用しています。

  • nginx 静的ファイルのロードバランサー、プロキシ、キャッシュとして
  • pm2 Node.jsのプロセスマネージャとして
  • node.js v6.9.1(長期サポートバージョン)
  • MongoDB データベースとして
  • redis キューおよびキャッシュとして

このものはt2.mediumインスタンスで実行されています。

プロジェクトでのnginxの使用についてどう思いますか?

0
galkin