无法解决 Azure 应用服务中的 (502) 错误网关错误

Posted

技术标签:

【中文标题】无法解决 Azure 应用服务中的 (502) 错误网关错误【英文标题】:Unable to resolve (502) Bad Gateway error in Azure App Service 【发布时间】:2020-11-10 22:57:38 【问题描述】:

我们有一个应用服务计划 (P2v2: 1),其中部署了 6 个 .Net Core Web API 和 2 个 Web 作业。

最近,1 个 Web API 周期性地开始发出 (502) Bad Gateway 错误。 该错误似乎可以自行解决,或者我们需要重新启动应用服务。

我们看到的平均 CPU 百分比为 42.x %,平均内存百分比约为 32.x %

这真的让我们抓狂,因为我们没有看到任何应用程序错误。

我们急需解决此问题的提示,因为它正在生产中运行。

【问题讨论】:

我建议向 Azure 支持提交请求。 不需要支持 你有没有弄明白这件事?我们刚刚开始经历同样的事情。 【参考方案1】:

502 错误可能是多方面的。

您有可能超出计划的最大 tcp 连接数(标准 s3,而硬件较旧,它包含 p2v2 的两倍)

你的应用也可能超时。

还要检查您是否使用 HttpClientFactory 而不是 HttpClient,因为它会重用池中的连接

每个实例的最大 IP 连接数取决于实例 大小:每个 B1/S1/P1V2 实例 1,920,每个 B2/S2/P2V2 实例 3,968, 每个 B3/S3/P3V2 实例 8,064 个。

https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#app-service-limits

您能做的最好的事情是检查诊断和解决问题,然后选择 500 倍错误并分析报告。

【讨论】:

感谢 Noah Stahl 和 Thiago Custodio。考虑到我们的严峻形势,我们将采用这两种方法。洞察力真的很有帮助! 我们在诊断和解决问题部分看到以下内容:AspNetCoreModule 502.5 10 ASP.NET Core Process Startup Error。当 ASP.NET Core Module 尝试启动 .Net core 进程但进程启动失败时,返回此错误。如果应用程序的启动时间比 web.config 中的 startupTimeLimit 配置的时间长,或者应用程序代码或 .net 核心运行时发生未处理的异常,则可能会发生这种情况。不知道为什么会间歇性出现这种情况,因为一段时间后问题会自行解决或在 IIS 重置后解决。

以上是关于无法解决 Azure 应用服务中的 (502) 错误网关错误的主要内容,如果未能解决你的问题,请参考以下文章

出错代码502,是指啥,怎样解决?

从托管在 Azure 中的 Asp.net Core MVC Web App 获取“响应状态代码不表示成功:502(错误网关)”

nginx+php-fpm出现502 bad gateway错误解决方法

Azure 逻辑应用程序 502 -“错误网关”错误

Azure 函数应用返回 502 Bad Gateway

502 错误:使用 IronPDF 的 Azure 应用服务上的网关错误