F5ロードバランサーとバックエンドサーバーがあります。ロードバランサーはwww.example.comです。バックエンドサーバーはserver1.example.comです。 SSL Profile (client)
とSSL Profile (server)
が有効になっているF5ロードバランサーと、ロードバランサーとバックエンドサーバーにSSL証明書があります。したがって、次のようになります。
クライアント(ラップトップ)-> HTTPS/SSL-> F5ロードバランサー(www.example.com)-> HTTPS/SSL->バックエンドサーバー(server1.example.com)
バックエンドサーバーは実行中ですWindows 2012/IIS 8.5。バインディングでは、ホスト名フィールドは空白です。
バックエンドサーバーのSSL証明書はserver1.example.com用であるため、www.example.comへのリクエストが失敗すると予想していました。それは実際に成功します。なぜ機能するのかわかりません。
[〜#〜] iis [〜#〜]server1.example.comへのバインディングでホスト名を設定すると、リクエストは失敗しません。空白のままにするかwww.example.comに設定すると、リクエストは成功します。なぜだかわかりません。意味がありません。
F5 LBがそれ自体とバックエンドサーバー間のハンドシェイクでクライアントとして機能していることを理解しています。しかし、私の理解は、F5がwww.example.com(ホスト名)のリクエストをバックエンドサーバーに送信していることです。バックエンドSSL証明書はserver1.example.com用です。したがって、F5によって送信されているホスト名がバックエンドサーバーのSSL証明書に関連付けられているホスト名と一致しないため、要求は失敗するはずです。つまり、www.example.com!= server1.example.comです。
私の論理のどこが間違っているのかを教えてください。なぜそれが機能するのか理解できません。
ありがとうございました。
F5 LBがそれ自体とバックエンドサーバー間のハンドシェイクでクライアントとして機能していることを理解しています。しかし、私の理解では、F5がwww.example.com(ホスト名)のリクエストをバックエンドサーバーに送信しています。バックエンドSSL証明書はserver1.example.com用です。したがって、F5によって送信されているホスト名がバックエンドサーバーのSSL証明書に関連付けられているホスト名と一致しないため、要求は失敗するはずです。つまり、www.example.com!= server1.example.comです。
「リクエストは失敗するはずです」という意味がわかりません。どのエージェントが失敗しますか?サーバーはホスト名に対してSSL証明書を検証しません。クライアント(この場合はLB)が行います。
証明書の検証を担当するのはLBであるため、個々のサーバーノードのホスト名ではなく、正しいホスト名に対して何が行われているかをインテリジェントに把握して検証できます。
だからここにおおよそ何が起こるかです:
Server1.example.comを示すHostヘッダーがあってはならず、そのHost名がSSL証明書の検証に使用されることもありません。