2016-06-26 15 views
0

私はCloudFlareの上でHTTPSエンドポイントに作られている要求にエラーThe request was aborted: Could not create SSL/TLS secure channel.を取得しています。サーバーエラー:要求は中止されました:SSL/TLSのセキュリティで保護されたチャネルを作成できませんでした

コード:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 
    var wc = new WebClient(); 
    var json = wc.DownloadString("https://cloudflare.com"); 
    Console.Write(json); 

これはTLS12へのServicePointを設定すると、それを修正スタック、上のよく寄せられる質問です。それは私のためにそれをローカルで修正します。しかし、私はサーバーにコードを宣伝するたびに、エラーが戻ってきます(私は自分のコード変更が適用されていることを肯定的です)。httpsを削除してhttpを使用すると問題なく動作します。私の検索のトン後

は、このKBが見つかりました:https://support.microsoft.com/en-us/kb/3109853私はサーバ1にインストールされ、それが問題を解決しませんでした。

誰もが他に何をしようとする知っていますか?これを引き起こしているサーバー環境についての何かが存在しなければなりません。 .Netの修正プログラムやセキュリティ更新プログラムは最新です。

[WebException: The request was aborted: Could not create SSL/TLS secure channel.] 
    System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) +823 
    System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) +84 

[HttpRequestException: An error occurred while sending the request.] 
    System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +181 
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +66 
    System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) +30 
    TrackerBase.Controllers.<Verify>d__0.MoveNext() +535 
    System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +181 
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +66 
    System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) +30 
    lambda_method(Closure , Task) +40 
    System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +76 
    System.Web.Mvc.Async.<>c__DisplayClass3f.<BeginInvokeAsynchronousActionMethod>b__3e(IAsyncResult asyncResult) +21 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42 
    System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +80 
    System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +386 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42 
    System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +30 
    System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +185 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +900 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +1299 
    System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +27 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +22 
    System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +43 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +22 
    System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38 
    System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +42 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +22 
    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38 
    System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +18 
+0

あなたは私達にあなたのコードを表示することができますか?あなたは私たちに問題が何であるかを示してきましたが、あなたがやっていることややっていることではありません。私たちは、エラーを自分自身で再現できるほど十分に見る必要があります。 – user1666620

+0

@ user1666620コードで質問を更新しました。一番上の行をコメントアウトし、dotnetfiddleにドロップしてエラーを再現することができました。行のコメントを外し、それが機能します。しかし、私のサーバーではありません。 – bladefist

答えて

1

そのコードは、Windows 2012に失敗する理由は特に理由はありませんが、TLSが利用可能であり、デフォルトでオンになって(私はそのように:)偏執的だから、私はいくつかの新鮮な2012R2のボックスにあなたのコードのサンプルをテストしました) 。 TLS 1.2を使用してから接続を停止している特定のサーバの設定についての何かがあることを意味し

。次の項目を確認してください。

  • レジストリには、HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocolsをチェックしてください。 SSL 2.0以外のプロトコルは無効になっていますか?サーバー上のイベントログに
  • 、失敗した接続イベントの後に任意のSchannelのイベントがあるのですか?
  • サーバーで、ブラウザを使用してhttps://cloudfare.comを開きます。右クリック、プロパティ(IEと仮定)、TLS 1.2, AES with 128 bit encryption (High)と表示されますか?そうでなければ、ブラウザはTLS 1.2が何らかの形でクライアントシステム上で利用できないため、別のプロトコルを使用することに決めました。
+0

TLS 1,1.1,1.2は有効な唯一のプロトコルです。 IE 11でサイトを開こうとしましたが、「詳細設定でTLS 1.0、TLS 1.1、およびTLS 1.2を有効にする」と表示されています。だから何かが確実に上がっている。しかし、クロムは動作します。私はIEのエラーで少しのために検索し、あまり来ていない。 – bladefist

+0

私は他のWindowsサーバーをチェックしても正常に動作します。 IE11の問題ではありません。 – bladefist

+0

私はそれを理解しました。明らかにプードルが落ちたときに、私は安全でないプロトコル(ssl 3)を無効にするためのツールを使用しましたが、そのベストプラクティスの一部が私にもいくつかの暗号を無効にしました。私の他のサーバーはまだ更新されていませんでした。だから明らかにベストプラクティスはベストプラクティスではない。 – bladefist

関連する問題