HTTPS handshake to ap-shanghai.cls.tencentcs.com (for #2) failed. System.IO.IOException 無法從傳輸連接中讀取數據: 遠程主機強迫關閉了一個現有的連接。。 < 遠程主機強迫關閉了一個現有的連接。


參考文檔:

https://www.cnblogs.com/cbugs/p/9304370.html

 

花了兩天時間解決了一個重量級的問題,

先說下場景:

最近公司要將日志寫到騰訊雲的日志服務上。但是在寫日志的時候,出了一個問題。使用控制台程序(框架是.NET5)可以成功寫入,但是移植到MVC的項目中,就有問題。

用抓包工具抓取以后發現了一個問題。只需要將網站的TLS協議,增加一個TLS1.2就可以。

Fiddle模擬https所用的協議:

工具欄位置:   Tools  -> Options  ->Https

 

 

 在代碼中,需要特別注意的是,需要將下面的紅色部分添加上。我MVC項目使用的的框架是:.NET Framework 4.7

            var handler = new WebRequestHandler();
            handler.ServerCertificateValidationCallback = delegate { return true; };
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
            _client = new HttpClient(handler);

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM