HTTPS handshake to ap-shanghai.cls.tencentcs.com (for #2) failed. System.IO.IOException 無法從傳輸連線中讀取資料: 遠端主機強迫關閉了一個現有的連線。。 < 遠端主機強迫關閉了一個現有的連線。
阿新 • • 發佈:2020-12-23
參考文件:
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);