我们在Windows Server 2012 R2上的IIS上有一个应用程序(WebAPI,我们将其命名为“X”)。有时“X”无法连接到Web上的其他独立API。我们收到了错误:
基础连接已关闭:无法建立信任 SSL / TLS安全通道的关系。
根据验证,远程证书无效 过程
我做了一些测试,同时“X”无法下载https://google.com(使用WebClient
类),但我可以在当前服务器上使用网络浏览器进行浏览。
此外,我试图忽略整个应用程序的服务器证书错误(下面的代码),但它也没有帮助。
protected void Application_Start()
{
ServicePointManager.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
}
我的客户连接到“X”没问题。此外,当在一台服务器上发生错误时,我能够在具有不同“X”实例的其他服务器上成功连接(例如https://google.com。)
可能出现什么问题?
答案 0 :(得分:0)
听起来您的IIS Web应用程序在用户上下文中运行,该用户上下文无法访问计算机上的证书。但是,浏览器在具有访问权限的不同用户上下文下运行。这解释了您的测试结果。
如果用户确实可以访问证书,那么您可能需要从独立的API下载证书。请参阅:http://brainof-dave.blogspot.com.au/2008/08/remote-certificate-is-invalid-according.html
https://technet.microsoft.com/en-us/library/cc772237(v=ws.10).aspx