如何解决 http基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系

编程开发
2106
Http
基础连接已经关闭
SSL/TLS
建立信任关系

基础连接已经关闭

未能为 SSL/TLS 安全通道建立信任关系 的问题

最近查看网站日志发现搜索引擎请求某个页面的时出现了500错误,检查日志发现这个页面报了异常 “基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系” ,检查发现是请求一个网络接口时报的错误 ,这个接口开发时请求是没有问题的。

折腾了一通总算是搞定了:

先确定网站是不是开启了https,如果是关了https或者去安装证书,如果不是 再往下看

首先引用命名空间

using System.Net.Security;  
using System.Security.Cryptography.X509Certificates;

重载代理类 通过验证

public static bool SecurityAllow(object sender, X509Certificate certificate,  
            X509Chain chain, SslPolicyErrors errors)  
{     
    //总是通过验证  
	return true;  
}

实例化 HttpWebRequest

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(SecurityAllow);  
HttpWebRequest Client = (HttpWebRequest)WebRequest.Create(UrlAddress);

重新运行 搞定!

顺便说一句 .NET CORE 环境下因为框架底层代码实现问题 上面这段代码是行不通的 可以看看下面这篇 里面有一段.net core框架下的请求实现。博主的问题由于这边服务器情况比较特殊测试没成功,就采取了特殊处理的办法,但是常规情况下应该是可用的,需要的可以看看 httpClient请求域名报错 The SSL connection could not be established, see inner exception.

使用AJAX请求报错 此请求已被阻止
从https站点跳转到http站点时获取不到referer的解决方案
HTTP 错误 403.14 - Forbidden的解决办法
暂无相关内容...
暂无相关内容...
免责声明 部分转载分享内容若侵犯您的权益,还请 邮件联系 侵删