.Net 4.8 を実行している WCF クライアントがあり、TLS リスナーを使用する AWS Network Load Balancer を介して WCF サービスに接続したいと考えています。問題は、それを介して接続できないことです。NLB で TCP リスナーを使用している場合、正しく接続できます。
この問題について AWS サポートに問い合わせたところ、調査の結果、私の NLB 構成に問題がないことが確認され、TLS を介して適切に通信するには、WCF クライアントが NLB の TLS リスナーとの TLS 通信を開始する必要があるとアドバイスされました。
しかし、私の調査によると、クライアントのセキュリティ要件を決定するのは WCF サービスです。これは、このMicrosoft リソースの最初の行に記載されています。WCF クライアントに TLS 通信を強制的に開始させる方法はありますか?
私はすでにクライアントコードに持っています:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
そして私のクライアント設定ファイルでは、これをバインディング設定に持っています。
<security mode="Transport">
<transport clientCredentialType="None"
protectionLevel="EncryptAndSign"
sslProtocols="Tls12" >
</transport>
</security>
また、TCP リスナーでの正常な通信中にパケットを調べたところ、TCP ハンドシェイクの後、クライアントとサービスは TLS 通信を開始する前にいくつかの情報を交換しました。それが重要かどうかはわかりませんが、私はそれを述べたいと思います。
TLS を使用するように構成されたブラウザーのように動作する WCF クライアントが必要です。この場合、通信相手のバックエンド エンティティとの TLS 通信を開始するのは WCF クライアントです。(例: Web サーバー、ロードバランサーなど)
WCF クライアントに TLS 通信を強制的に開始させる方法はありますか?