2017-08-11 16 views
0

これはプログラミングに関する質問である可能性がありますが、私はあなたにいくつかの提案があるほど一般的であることを期待しています。AWS ELBからEC2インスタンスのセキュアでないポートに転送

Iはフェイルオーバー環境EC2インスタンスへのトラフィックを指示するためにAWS弾性ロードバランサを使用して移動しています。現在、ELBの背後には1つのEC2インスタンスが設定されています。なぜあなたはすぐにその理由を知るでしょう。これはテストモードですが、このELB - > EC2パスを使用して顧客にコンテンツを配信しています。私の本番環境のそれぞれにおいて

私はロードバランサのAWS証明書とEC2インスタンス上の私的取得したセキュリティ証明書を持っている(私は2つを持っています)。ロードバランサのリスナーは、ポート443で受信したトラフィックをEC2インスタンスのセキュアポート(443)に送信するように構成されています。これは動作しています。しかし、ロードバランサの背後にあるEC2インスタンスを増やすと、これらのEC2インスタンスごとにセキュリティ証明書を購入する必要があります。私に提案された勧告を使用して

は、私は新しいロードバランサとその構成されたEC2サーバーでテスト環境を設定しています。このELBサーバは、ポート443で受信したメッセージをEC2システムのポート80に送信します。ロードバランサに暗号化/復号化を制限し、ロードバランサとそのインスタンス間の暗号化されていない通信を使用します。

最後に、ここに私の問題があります。このアプリケーションによって提供されているHTMLページは、各ページ内の埋め込みスクリプトおよびその他の成果物への相対参照を使用します。要求がEC2インスタンス(アプリケーションサーバー)に到達すると、元々の内容にかかわらずHTTPに降格されました。これは、これらの埋め込みアーティファクトへの参照が安全でない(HTTP)としてレンダリングされることを意味します。元のページ参照は安全であったため(HTTPS)、ブラウザはこれらの安全でないリソースを読み込むことを拒否しました。

Iはすでにロードバランサにおける元の要求は、HTTPまたはHTTPSであったかどうかを決定するためにアプリケーション内ヘッダX-転送先プロトを使用しています。私は、受け取ったX-Forwarded-Protoヘッダーに従って相対参照をレンダリングするように指示するEC2インスタンスにいくつかのパラメータがあることを願っています。それを除いて、他の人たちがこの問題をどのように解決したかについてのアイデアはありますか?

はあなたの時間と配慮をいただき、ありがとうございます。

+1

なぜこれらのEC2インスタンスごとにセキュリティ証明書を購入する必要がありますか? –

答えて

0

まず第一に、それはELB/ALBでSSLターミネーションを有するのみELB/ALBからのトラフィックを受け入れEC2に割り当てられたセキュリティグループを持っていることによって行くための正しい方法です。

ただし、HTTPSのURL X-転送さ-プロトリクエストヘッダに基づいて、またはカスタム設定に基づいて対応し、アプリケーションコードやウェブサーバで扱うことが必要です。

関連する問題