【发布时间】:2020-05-20 17:51:35
【问题描述】:
我决定修改这个问题,因为在经历了数小时的挫折之后,这是一项匆忙的工作。 向所有浪费时间的人道歉。
拓扑: 两种截然不同的应用。 1. WPF 应用程序 C#。包括 DevExpress 工具、SignalR、Web api 的 AutoRest 实现。 ADAL 身份验证。 2. 驻留在 Azure 上的 Webapi ASP.NET,最近升级到 .net 版本 4.6.1(发布错误)。我也通过标题使用版本控制。 3.Azure SQL Server作为后端。最近将 DTU(内存、CPU 等)从 10 升级到 20。(发布错误)
系统已经成功运行了大约三年,在此期间进行了大量的开发工作。
在几天没有发布之后,星期一早上来了,错误开始出现。 我通过 NLog 将所有错误记录到 SQL Server。
第一个错误:(到目前为止我得到的最多)
System.Net.Http.HttpRequestException: Error while copying content to a stream. ---> System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: The specified data could not be decrypted
然后我开始看到
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
这个错误不太频繁,但昨天发生了 8 次。
我也看到了这个错误,今天我开始认为这可能是罪魁祸首。我会仔细查看我的 ADAL 调用,认为它运行良好。
Microsoft.Rest.HttpOperationException: Operation returned an invalid status code 'Unauthorized'
错误随机出现,您可以绕过它们,系统继续工作。经常需要刷新数据。
我已经从我知道稳定的早期版本重建了 api,并添加了我此后创建的几个调用。 我昨天重建了 WPF 应用程序,然后得到了相同的结果。
所以我开始认为它是 Azure 上的基础架构。
我升级了 SQL Server 上的 DTU(这已达到顶峰,并且需要)。
我将 API 网络服务计划升级到新的级别。
我通过 Azure 将 api 上的最小 TLS 设置为 1.2。 api 代码没有变化,我只是不知道 TLS 是如何工作的。
我现在拥有在 azure 上运行的应用程序洞察力,以了解 Web api 的运行情况,看看我是否能发现任何东西。
今天早上我仍然看到错误。 这是漫长的一周!
【问题讨论】:
-
你读过this question吗?
-
感谢您。我没见过这个。正在观看。
-
您是否在 wpf 应用程序中使用 https 并通过邮递员测试 https 调用?如果启用了http,你能检查一下http是否工作正常吗?
-
似乎根本不是竞争条件。只是您需要一次调试一个的正常错误。如果您无法解决问题,请为每个问题创建一个单独的问题,并使用专用的minimal reproducible example。
-
无法创建 SSL/TLS 安全通道意味着您的服务器无法建立 TLS 连接。很可能是您正在与之交谈的服务器证书有问题。它可能是自签名的,可能缺少指向受信任根的完整证书链,或者它可能使用不受信任的根。
标签: c# wpf https azure-active-directory webapi