Api随机调用失败 - 请求被中止:无法创建SSL/TLS安全通道

9
我们有一个电商网站,调用我们自己的 API(Web API 坐落在 Windows 2008 服务器 + IIS 上)将订单从在线系统移动到本地系统。
该 API 之前运行良好几个月,但现在我们收到随机错误报告,“请求被中止: 无法创建 SSL/TLS 安全信道”。
代码可以工作大约 24 小时左右然后失败,每次调用都会失败。然后我们重启电商网站(它托管在 Azure 上,所以我们重启实例)。一旦网站重新启动,对 API 的调用就开始正常工作了。
我们使用 Restsharp 调用 API。
我们已经检查了证书等内容,这些似乎没有问题(这也不能解释为什么有时候能正常工作)。
在它开始出现问题的同时,我们在电商网站上引入了一个新插件,使用 Amazon C#客户端将订单从亚马逊拉到电商网站。
这些过程每小时左右定期运行。
这个问题是否可能与某种 IIS 缓存有关?或者与 Amazon 要求不同版本的 TLS 相关,而我们的 API 托管在 Windows 2008 服务器上?

只是一种直觉(以前遇到过)。你的新插件是否会在某个时候设置或覆盖静态证书验证回调?ServicePointManager.ServerCertificateValidationCallback (https://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.servercertificatevalidationcallback(v=vs.110).aspx) - Henry Been
有人解决了这个问题吗?我也会随机遇到这个问题。 - Nigel Fds
2个回答

0

0
代码在运行24小时左右后会出现故障,之后的每个调用都会失败。然后我们重新启动电子商务网站(它托管在Azure上,因此我们重新启动实例)。一旦网站重新启动,对API的调用就会再次开始工作。
我认为您的问题与时间有关。 您需要在服务器/客户端上设置正确的时间以创建SSL / TSL安全通道。 似乎当您重新启动站点时-时间正在同步,并且在24小时内由于某种原因再次不同步。尝试朝这个方向看看。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接