2017-02-03 27 views
7

EC2 Webサーバにトラフィックを分散するために、AWSアプリケーションロードバランサ(クラシックロードバランサと比較して)を設定しようとしています。コンプライアンス上の理由から、アプリケーションのSSL/HTTPS暗号化を終了する必要があります。アプリケーションロードバランサ(ELBv2)SSLパススルー

トラフィックがクライアントとWebサーバ間で完全に暗号化されるようにする最も簡単な方法は、Webサーバ上でHTTPS接続を終了することです。

私の最初の質問:この方法でロードバランサの背後にあるWebサーバに、AWS Application Load Balancer経由でHTTPSトラフィックを渡すことは可能ですか?

AWSのドキュメントから収集したことから、クラシックロードバランサ(TCPパススルー経由)でこのようにトラフィックを通過させることが可能です。それはHTTPS接続自体を終了し、次のいずれかを実行したいようしかし、アプリケーションのロードバランサに見える:私は、コンプライアンス上の理由から行うことができない暗号化されていないWebサーバへ

  • 送信トラフィック
  • Webサーバーへの新しいHTTPS接続を作成します(余分な作業負荷のように見えます)

私の2番目の質問:ドキュメントの理解は正しいですか?

+0

私はこれをAWSで試していませんが、プロダクションサーバーがSSL/HTTPSをNginxに渡すためにHaProxyを使用しています。 –

+0

「ウェブサーバへのトラフィックを暗号化せずに暗号化しています」ということが起こっているかどうかはわかりません。 https://aws.amazon.com/blogs/aws/elastic-load-balancer-support-for-ssl-termination/またはhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/を開始します。設定-https-endtoend.htmlこれは役に立ちます。 –

+1

@MuqeetKhanこれは、ロードバランサでSSLを終了し、WebサーバにSSL証明書をインストールしていない場合に起こっていることです。 WebサーバーにSSL証明書がない場合、ロードバランサとサーバー間のトラフィックはどのように暗号化される可能性がありますか? –

答えて

13

WebサーバーでSSL接続を終了するには、ロードバランサリスナーをHTTPSからTCPに変更する必要があります。 ALBはこれをサポートしていません。古典ELBのみです。さらに、WebサーバーでSSLを終了していた場合、ロードバランサは要求を検査できないため、復号化できないため、新しいルーティング情報をすべて取得することはできませんALBがサポートしていること。

実際にALBを使用して新機能を提供し、エンドツーエンドの暗号化が必要な場合は、ALBでSSLを終了し、SSL証明書をWebサーバーにインストールする必要があります。 Webサーバー証明書は、ALBのみがクライアントではなくその証明書を参照するため、自己署名証明書のようなものである可能性があります。

私は、コンプライアンスの理由(PCI、HIPAAなど)のためにエンドツーエンドの暗号化が必要と仮定します。そうでなければ、それを設定するという面倒を見る非常に魅力的な理由はありません。

+0

偉大な答え、ありがとう! –

+0

はい、コンプライアンス上の理由から、エンドツーエンドの暗号化が必要です。 –

+0

AWSは、ロードバランサを通じてインスタンス/グループ/ ipまでのTCPであるNetwork Load Balancerをリリースしています。そのため、nginxなどのSSLをインスタンス上で使用することができます。 – pauricthelodger

関連する問題