无法解决 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) 错误网关错误的主要内容,如果未能解决你的问题,请参考以下文章
从托管在 Azure 中的 Asp.net Core MVC Web App 获取“响应状态代码不表示成功:502(错误网关)”