2017-08-20 6 views
0

先週私はTLS対応のエンドポイント(同じ証明書を共有する)用のロードバランサを使用していましたが、TPCロードバランサをSSLエンドポイント。これを設定することで、TLS/SSLをサポートするようにTCPロードバランサと通信することが可能になりました。だから、私は、このようなネットワーク構成が完全に解決策を働いていることを確認したいと思います:TLS/SSLエンドポイントの前にTCPロードバランサ

  1. TLS/SSLセッションとハンドシェイクのワークフローを、プライマリサーバとのハンドシェイクを開始し、ミラーでそれを終了することが可能である意味、ステートレスです。本当ですか?
  2. 知っておく必要がある隠された危険はありますか?
  3. 上記のステートメントが真である場合、すべてのTLS/SSLを実行する理由は、ロードバランサ自体でどのように機能しますか?

p.s.私がロードバランサでTLS/SSLの作業をしない理由は、複数の独自のエンドポイントがSSL/TLSだけをサポートしてバランスを取る必要があることです。

答えて

1

TLS/SSLセッションとハンドシェイクのワークフローは、プライマリサーバとのハンドシェイクを開始し、ミラーでそれを終了することが可能である意味、ステートレスです。本当ですか?

いいえロードバランサがTCPキープアライブを使用しているため、毎回同じサーバー上でハンドシェイクが完了していると思われます。

知っておく必要がある隠された危険性はありますか?

パフォーマンスが大幅に低下する可能性があります。 HTTPSには、おそらくデフォルトではサーバー固有の「セッションキー」があります。ロード・バランサでスティッキー・セッションのようなことをすることができない場合は、クライアントがあるサーバーから別のサーバーに移動するたびに完全なハンドシェイクを行います。

セッションチケットはサーバー間では動作しないため、セッション再開もおそらく機能しませんし、フルハンドシェイクにフォールバックすることもあります。一部のサーバーでは、nginxなどの共通セッションチケットキーの設定がサポートされています。

前述のステートメントが該当する場合、すべてのTLS/SSLを実行する理由は、ロードバランサ自体ではどのように機能しますか?

まあまあではありません。しかし、他の利点があります。ロードバランサは、セッションの平文を見ることができるので、よりインテリジェントなロードバランサであることが主なものです。リクエストのクッキーを調べて、どのサーバーにリクエストを送信するかを判断する例があります。これは、青/緑展開の一般的な必要性です。

関連する問題