助けて!</p>
wcf クライアントを使用して https 経由で Web サービスを要求すると、例外が発生しました。
An error occurred while making the HTTP request to https://***. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server.
私のwcfクライアントバインディング設定は
<binding name="BasicHttpBinding_MY_SSL" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
</security>
</binding>
wirshark では、トラフィックが発生しました。
Alter が表示されます。それは次のとおりです。
私の wcf クライアントは Windows Server 2003 で実行されています。この例外の根本的な原因が見つかりました。wcf クライアントでは SSL3 を使用してリモート サーバーとの SSL ハンドシェイクを開始しますが、リモート サーバーの F5 ファイアウォールは SSL3 との接続を拒否します。 Tls (SSL3.1) での接続のみを許可します。
しかし、私の質問は、WCF クライアントが Tls ではなく SSL ハンドシェイクを開始するために SSL3 を使用する理由です。なぜなら、Windows Server 2003 が Tls (SSL3.1) をサポートし、SSL ハンドシェイクを開始するためにサポートする最高のプロトコル (Tls) を常に使用することを知っているからです。これは私の場合に起こりませんか?