.net 报错 远程主机强迫关闭了一个现有的连接 问题分析解决

先测试cmd 发现可以ping通地址:证明不是网络问题

postman 报错

Error: Hostname/IP does not match certificate's altnames

设置里ssl验证默认开启,把选项关闭,接着就正常了:证明应该是https或ssl 相关通讯出现问题

visual studio 报错

远程主机强迫关闭了一个现有的连接

原先项目框架是.net 4.0 没有问题 升级成.net4.5.2后开始报错

原因分析

https前缀会有ssl证书验证,在post调取该地址时,可以忽略掉该验证,否则会产生调不到的情况。

原来.net4.0的时候 调用代码前加忽略掉ssl验证

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

升级.net4.5.2之后 SecurityProtocolType的默认支持有问题

添加代码

System.Net.ServicePointManager.SecurityProtocol |= (SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12);

或者
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

相关推荐
唐青枫3 小时前
C#.NET log4net 详解
c#·.net
Nemo_XP8 小时前
HttpHelper类处理两种HTTP POST请求
c#
ChaITSimpleLove14 小时前
使用 Dockerfile 构建基于 .NET9 的跨平台基础镜像
.net·dockerfile·.net aspire·dotnet-sdk·pwsh·docker image·docker buildx
lijingguang15 小时前
在C#中根据URL下载文件并保存到本地,可以使用以下方法(推荐使用现代异步方式)
开发语言·c#
¥-oriented15 小时前
【C#中路径相关的概念】
开发语言·c#
ArabySide16 小时前
【WCF】通过AOP实现基于JWT的授权与鉴权的实践
c#·jwt·aop·wcf
xiaowu08016 小时前
C# Task异步的常用方法
c#
阿蒙Amon16 小时前
C# Linq to Objects 详解:集合处理的终极方案
c#·solr·linq
钢铁男儿16 小时前
C# 委托(调用带引用参数的委托)
java·mysql·c#
番茄小能手17 小时前
【全网唯一】C# 纯本地离线文字识别Windows版dll插件
开发语言·c#