web-dev-qa-db-ja.com

SSLパススルーとSSL終了+ HTTPS

HTTPSロードバランサーを構成する場合、速度とデータを検査してヘッダーの追加などのアクションを実行する機能のために、SSLターミネーションの方が一般的に優先されますが、SSLパススルーはセキュリティを優先しますが、処理能力をより多く使用します。私が読んだことから、SSL終了時のSSL接続は、名前が示すように、ロードバランサーに到達したときterminatedであり、通常、そこからロードバランサーとワーカーサーバーが通信します。プレーンHTTP。私の現在の構成は次のとおりです:

クライアント--https-> x [ロードバランサー]-https-> [サーバー]

ここでは、SSL接続はロードバランサーで終了しますが、そこからロードバランサーが宛先サーバーとの新しいHTTPS接続を開始します。

私の質問は、SSLパススルーまたはSSLターミネーション+追加のHTTPS接続のどちらがより高速なソリューションですか?

注:私はhaproxy +安価な100Mbpsの仮想プライベートサーバーを使用しており、サーバーごとに1つのvCoreしかありません

2
Chase

どちらが速いかを決して想定しないでください。ロードバランサーを使用すると、一部の作業を外部マシンにオフロードできます。アプリケーションにより多くのCPUを割り当てることができるため、これは通常より高速です。ただし、アプリケーションがディスクバインドまたはアイドル状態の場合、SSLオフロード( (AES-NI )など)を備えた最新のCPUは、古いロードバランサーよりも高速である可能性があります。

アドバイスは、常に特定のトラフィックパターンでテストすることです。テスト中に負荷を確認します。ボトルネックはどこですか?次に、時間やお金がある場合は最適化します。

1

おそらくSSLの削減ですが、これは最終的にはロードバランサー、アプリサーバー、ワーカーなどで使用されているソフトウェアによって異なります。使用しているスタックの実際の答えを得るには、次のようなストレステスターを使用する必要があります- locust.iowrkloader.io または 他の多くの のいずれか。

次に、「パススルー」および「終了」構成でスタックをテストすると、結果が明らかになります。

これに対する一般的な答えとしては、未知の変数が多すぎます。

0
v25