我们有一个电子商务网站,它调用我们自己的API(Web API位于windows 2008服务器+IIS上),将订单从在线转移到内部部署系统。
Api几个月来一直运行良好,但现在我们收到了随机错误,我们的日志报告为"请求已中止:无法创建SSL/TLS安全通道">
代码将在24小时左右正常工作,然后失败,之后的每个调用都将失败。然后我们重新启动电子商务网站(它托管在Azure中,所以我们重新启动实例)。一旦站点重新启动,对Api的调用就会重新开始工作。
我们正在使用Restsharp来调用Api。
我们已经研究了证书等,这些似乎很好(它也不能解释为什么有时它可以正常工作)。
大约在它开始失败的同时,我们在电子商务网站上引入了一个新的插件,该插件使用亚马逊C#客户端将亚马逊的订单拉入电子商务网站。
程序每隔一个小时左右按计划任务运行一次。
这个问题可能与某种IIS缓存有关吗?也许在亚马逊周围,我们的Api托管在一台win2008服务器上,需要一个不同版本的TLS?
代码将在24小时左右正常工作,然后失败,之后的每个调用都将失败。然后我们重新启动电子商务网站(它托管在Azure中,所以我们重新启动实例)。一旦站点重新启动,对Api的调用就会重新开始工作。
我认为你在时间上有问题
您需要在服务器/客户端上的正确时间来创建SSL/TSL安全通道
当您重新启动站点时,时间似乎在同步,但在24小时后,由于某种原因,它再次不同步。试着朝那个方向看。
代码将在24小时左右正常工作,然后失败
SSL签名可能在24小时后过期。引用自https://stackoverflow.com/a/38128395/7321214.