web-dev-qa-db-ja.com

リバースプロキシとアプリケーションサーバーによるエンドツーエンドの暗号化

同じサーバー上のTomcatへのトラフィックをプロキシするnginxリバースプロキシがあるとしましょう。この設定を構成する最も一般的な方法は、nginxでSSLを有効にしてから、暗号化されていないトラフィックをTomcatにプロキシすることです。ここまでは順調ですね。トラフィックが増大し始め、パフォーマンスに関連する理由から、Tomcatを別のサーバーに移動することにしました。 nginxとTomcatの間の接続は安全ではありません(http)。

このセキュリティ上の懸念にどのように備えるべきですか? nginxサーバーからTomcatへのSSHトンネルを介してトラフィックをトンネルする必要がありますか?私のサーバーはクラウドサービスに配置できるため、サーバー間の接続は(私の知る限り)安全ではありません。

2
anssias

必要なのは「アップストリームSSL」です。

これは、Nginxを使用してバックエンド接続を再暗号化する場合です。別の証明書を購入する必要はありません。バックエンドに自己署名証明書を使用できます。

ここで議論: StackOverflow:アップストリームSSLを使用したNginxロードバランス
そしてここ: ServerFault:NginxをアップストリームSSLでリバースプロキシとして構成

ブログはこちら: " NGINXによるSSLオフロード、暗号化、証明書 (アーカイブ こちら 。)
彼らは彼らのブログでこの「エンドツーエンド」の暗号化を呼び出すことを主張します。 (彼らがそうすることは私を怒らせます。再暗号化すると、もはやエンドツーエンドの暗号化ではなくなります。)
(ただし、Citrixは同じ罪を犯しています 「NetScaler」を使用した用語の罪 ロードバランサ。(アーカイブ ここ 。))

3
StackzOfZtuff