我在我的 Azure 应用服务的诊断和解决中看到 502 错误报告

I am seeing 502 errors reported in Diagnose and Solve for my Azure App Service

在“诊断和解决我的 Azure 应用服务”的“Web 应用程序下载”页面中,我看到了过去几个小时内不断发生的一系列 502 错误。浏览时无法访问我的网站。我试过重新启动应用程序,但这没有帮助。最近没有导致此错误的代码部署或配置更改。

查看 Microsoft 文档我发现: https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-troubleshooting-502#cause-1

这似乎是与后端地址池的连接问题,后端地址池位于应由 Azure 管理的网关后面。

正如您所说,502 通常表示无法连接到 back-end 个实例。 一个解决方案是扩大或缩小您的应用程序服务计划,确保您保持在同一层(即标准与高级),以免更改您的入站虚拟 IP,等待约 5 分钟,然后缩减.

示例:S1 -> S2 或 P2v2 -> P1v2

此操作也称为“缩放技巧”,将新实例分配给托管您的网络应用程序的应用程序服务计划,以及一个新的内部负载平衡器。 如果在托管您的实例和您的站点的同一硬件上存在由另一个资源 运行 引起的进程 hang-up,这是将您的站点移动到新实例的最有效方法.从本质上讲,这起到了硬重置的作用,超出了传统重启的功能。

最后,因为 Azure 按小时计费,而这个临时规模只有 5 分钟,如果你需要扩大规模以保持在相同的应用服务计划层 (即标准与高级),您将面临可忽略不计的成本或根本没有成本。

为了将来参考,为了防止此问题 re-occurring,如果您的应用有多个实例 运行,请考虑启用健康检查功能:https://docs.microsoft.com/en-us/azure/azure-monitor/platform/autoscale-get-started#route-traffic-to-healthy-instances-app-service

您可以在此处找到其他最佳做法:https://azure.github.io/AppService/2020/05/15/Robust-Apps-for-the-cloud.html