具有121子状态的HTTP500错误表示什么

我有一个 Web 应用程序在 Azure 中运行,我有一些服务器无响应的中断。当我查看 IIS 日志时,我看到 HTTP 500 错误,sc-substatus为 121,sc-win32-status为 0。

我有一个 Web 应用程序在 Azure 中运行,我有一些服务器无响应的中断。当我查看 IIS 日志时,我看到 HTTP 500 错误,sc-substatus为 121,sc-win32-status为 0。

省略所有其他字段,日志看起来像这样,按以下顺序:

sc-status sc-substatus sc-win32-status
500 121 0

我在网上找不到 500.121 错误的参考。

14

我刚从一个 Azure 软件工程师那里得到这个:

121 是一个超时事件,这基本上意味着请求在工作虚拟机上花费了 230 秒,而没有在连接上启动任何读 / 写 IO。

IIS 日志都有一个时间值徘徊在 230 秒左右。神秘解决了。

4

我们看到了同样的问题。

TLDR

我们在 Azure SQL 数据库中使用始终加密。

我们使用 Azure Key Vault 存储主密钥。

我们发现为旧版本的 Azure Key Vault 提供程序记录了以下错误-https://support.microsoft.com/en-us/help/4016853/fix-deadlock-when-apps-try-to-acquire-or-refresh-an-authentication-tok

解决方案-我们将 Azure Key Vault 提供程序从 1.x 版本升级到最新的 2.1.0 版本-https://www.nuget.org/packages/Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider/2.1.0

Symptoms

我们开始生产 500 / 121。

所有响应时间都超过 230 秒。

问题总是相隔 2 小时发生...有时稍长。

Logging

我们自己的日志显示什么都没有。

ELMAH 什么也没显示。

失败的请求跟踪未显示任何内容。

唯一的指示是在 IIS 日志中。

我们还从 Azure 门户的应用服务中的诊断和解决问题选项卡中收集了一些.Net Profiler Traces,并包含了线程堆栈。我们注意到有许多线程堆栈正在做与 Always Encrypted 相关的事情。这只是有点奇怪,但这是最终让我们将 Always Encrypted 视为罪魁祸首的东西。

复制

这段代码在 4 个不同的环境中。

它只发生在两个环境中。

我们没有什么会导致它发生。

MS 支持问题

https://support.microsoft.com/en-us/help/4016853/fix-deadlock-when-apps-try-to-acquire-or-refresh-an-authentication-tok

请考虑以下情况:

You have Microsoft .NET Framework applications that use Always Encrypted in SQL Server 2016 or Azure SQL Database.
The column  keys for these applications are stored in the Azure Key Vault. 

在这种情况下,应用程序会遇到死锁。因此,应用程序将变得无响应(挂起)或超时。

在尝试获取或刷新 Azure Key Vault 的身份验证令牌时可能会发生死锁。

Azure Key Vault Provider v2.1.0 发行说明

https://www.nuget.org/packages/Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider/2.1.0

此版本解决了所有以前版本中存在的可能导致多线程应用程序死锁的错误。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(533)
使用锥形窗口计算运行平均值(tapered mean)
上一篇
FFmpeg无法正确裁剪视频
下一篇

相关推荐

  • http云服务器极速部署,提升业务效率

    HTTP云服务器是一种基于云计算技术的服务器,可以用来提供Web应用程序、数据存储和其他服务。它可以提供高可用性、可扩展性和安全性,并且可以按需自动伸缩。…

    2023-01-30 04:15:32
    0 13 68
  • http//www.色.com探索色彩的魅力

    http://www.色.com 是一个网站,它提供颜色的信息。该网站收集了来自不同来源的颜色,并将其分类整理,以便用户可以更容易地找到想要的颜色。…

    2023-01-05 14:54:47
    0 87 41
  • java调用https接口:使用Java调用HTTPS接口的步骤!

    Java调用https接口,需要使用java.net.URL类和javax.net.ssl.HttpsURLConnection类。下面是一个示例代码:…

    2023-01-20 08:28:34
    0 82 11
  • Ce证书查询网站:https免费证书网站(certificate https free)

    关于Ce证书查询网站的问题,在certificate https free中经常遇到,可以获得免费的 SSL 证书来激活网站上的 HTTPS?我的意思是,不是自动证书,而是经过验证的证书,以便在用户连接时在浏览器中拥有绿色锁。谢谢…

    2022-11-30 13:23:58
    0 46 74
  • 海外租用的服务器:获取 HTTP服务器的服务器头(http server header)

    关于海外租用的服务器的问题,在http server header中经常遇到,我想用 Python 获取 HTTP 的Server头。我不知道怎么能得到它,我看了Hypertext Transfer Protocol的RFC,进入了Server部分。…

    2022-12-05 07:39:27
    0 67 52
  • 程序员证书有哪些:程序员应该关注哪些HTTP状态码(statuscodes)

    关于程序员证书有哪些的问题,在statuscodes中经常遇到,所以,如果你看一下List of HTTP Status Codes,可能有一些在编程时很有用。服务器可能会处理一些事情,比如协议,但是很多这些代码在告诉浏览器页面的实际状态时可能很有用。…

    2022-12-03 03:46:37
    0 33 31
  • Https服务器:服务器上的 https检查(digicert sha2 secure server ca)

    关于Https服务器的问题,在digicert sha2 secure server ca中经常遇到,我有一个部署在 azure 上的 tomcat 服务器,它有我的 REST API。到现在为止,我使用 HTTP 从我的 android 应用程序联系服务器并获得响应。今天,我向服务器添加了一个自签名证书,当我使用 android 应用程序 (通过将 URL 更改为 https) 进行测试时,一切工作正常。但是,我想确认响应是否实际上正在加密。如何检查?…

    2022-12-17 02:13:03
    0 41 90
  • 申请https:付款申请-EMV(emv key load required)

    关于申请https的问题,在emv key load required中经常遇到,我正在为 Android 开发一个支付应用程序。我已经阅读了所有四本 EMV 书籍 (版本 4.3),我用来实现与终端通信的协议。我还从 Mastercard 购买了终端模拟器套件,用于测试我的应用程序。…

    2022-12-21 07:46:58
    0 37 16

发表评论

登录 后才能评论

评论列表(31条)