我有一个简单的web服务调用,由.NET(C#)2.0 Windows应用程序,通过Visual Studio生成的web服务代理,用于同样用C#(2.0)编写的web服务.这已经奏效了好几年,并在十几个地方继续如此.

新站点的新安装遇到问题.当try 调用Web服务时,它会失败,并显示以下消息:

无法为SSL/TLS安全建立信任关系 通道

web服务的URL使用SSL(https://)——但这在许多其他位置已经运行了很长时间(并将继续).

我该往哪里看?这可能是Windows和之间的安全问题.NET是此安装所独有的吗?如果是,我应该在哪里建立信任关系?我迷路了!

推荐答案

idea (基于过go 的痛苦):

  • 您有到服务器的DNS和视线吗?
  • 您使用的是证书中的正确名称吗?
  • 证书仍然有效吗?
  • 配置不当的负载平衡器会把事情搞砸吗?
  • 新的服务器机器的时钟设置是否正确(即UTC时间是否正确[忽略本地时间,这在很大程度上是不相关的])-这对WCF肯定很重要,因此可能会影响常规SOAP?
  • 是否存在证书信任链问题?如果你从服务器浏览到SOAP服务,你能得到SSL吗?
  • 与上述内容相关-证书是否已安装到正确的位置?(您可能需要受信任的根证书颁发机构提供一份副本)
  • 服务器的机器级代理设置是否正确?(与用户的代理不同);请参阅XP/2003的proxycfg(不确定Vista等)

.net相关问答推荐

从窗体中移除另一个控件中引用的控件时获取设计时通知

获取Ef-Core集合的DeleteBehavior

.NET 7.0中的UseHttpsRedirection和IIS生产部署

PowerShell - 如果用户输入凭据,则查询 AD 时出错

无法使用 int.Parse 从字符串转换值

CurrentCulture、InvariantCulture、CurrentUICulture 和 InstalledUICulture 之间的区别

如何在 MSBuild 脚本中获取当前目录?

如何获得友好的操作系统版本名称?

我可以使用 UriTemplate 将非字符串传递给 WCF RESTful 服务吗?

我应该从 .NET 中的 Exception 或 ApplicationException 派生自定义异常吗?

C# 方法可以定义为采用的最大参数数是多少?

日期时间是什么意思?在 C# 中是什么意思?

为什么 .NET 中不需要 Maven?

将接收到的对象转换为 List 或 IEnumerable

ILookup 接口与 IDictionary

析构函数、dispose 和 finalize 方法的区别

使用语句与最终try

ConcurrentDictionary TryRemove 何时返回 false

Linq Where() lambda 表达式中的或类似功能

判断 null 并在没有的情况下分配另一个值的最短方法