You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure应用网关后端实例异常引发502错误求助

Azure应用网关后端实例不健康问题排查与解决建议

问题现象

你的一个或多个后端池中的所有实例均处于不健康状态。尝试访问应用网关后的应用时会出现502错误,请检查后端健康状况并解决问题。

已尝试通过Azure CLI重启网关,但问题未解决:

~$ az network application-gateway stop -n <ap-gw> -g <rs-gp>
~$ az network application-gateway start -n <ap-gw> -g <rs-gp>

执行健康检查命令后,后端实例状态为Unhealthy,具体结果如下:

$ az network application-gateway show-backend-health --resource-group <rs-gp> --name <application-gateway>
{
  "backendAddressPools": [
    {
      "backendAddressPool": {
        "backendAddresses": null,
        "backendIpConfigurations": null,
        "etag": null,
        "id": "/subscriptions/subscriptionsID/resourceGroups/<application-gateway>/providers/Microsoft.Network/applicationGateways/<application-gateway>/backendAddressPools/dev-silverlight",
        "name": null,
        "provisioningState": null,
        "resourceGroup": "<application-gateway>",
        "type": null
      },
      "backendHttpSettingsCollection": [
        {
          "backendHttpSettings": {
            "affinityCookieName": null,
            "authenticationCertificates": null,
            "connectionDraining": null,
            "cookieBasedAffinity": null,
            "etag": null,
            "hostName": null,
            "id": "/subscriptions/subscriptionsID/resourceGroups/<application-gateway>/providers/Microsoft.Network/applicationGateways/<application-gateway>/backendHttpSettingsCollection/HTTPS-Resource",
            "name": null,
            "path": null,
            "pickHostNameFromBackendAddress": null,
            "port": null,
            "probe": null,
            "probeEnabled": null,
            "protocol": null,
            "provisioningState": null,
            "requestTimeout": null,
            "resourceGroup": "<application-gateway>",
            "trustedRootCertificates": null,
            "type": null
          },
          "servers": [
            {
              "address": "pvIP",
              "health": "Unhealthy",
              "healthProbeLog": "无法连接到后端服务器。请检查是否有NSG/UDR/防火墙阻止了对服务器的访问。检查应用是否在正确的端口上运行。",
              "ipConfiguration": null
            }
          ]
        }
      ]
    }
  ]
}

解决建议

  • 排查网络阻断因素:
    • 检查后端服务器所在子网的NSG规则,确保允许应用网关子网的流量访问后端服务的目标端口(如80/443或自定义端口)。
    • 验证路由表(UDR)配置,确认应用网关到后端服务器的路由有效,未被错误导向防火墙或其他阻断设备。
    • 若后端服务器配置了防火墙(Azure防火墙或第三方防火墙),需放行应用网关的IP范围或子网流量。
  • 确认后端服务可用性:
    • 登录后端服务器,检查应用服务是否正常启动,监听端口是否与应用网关后端HTTP设置中的端口一致。
    • 使用netstat -an(Windows)或ss -tulpn(Linux)命令,确认目标端口处于监听状态。
    • 从应用网关所在子网的测试虚拟机发起telnet或curl请求,直接测试与后端服务器端口的连通性。
  • 校验健康探针配置:
    • 确认应用网关健康探针的路径正确,后端服务器能对探针请求返回200状态码(如探针路径为/health,需确保该端点正常响应)。
    • 若使用HTTPS探针,检查后端服务器的SSL证书是否有效,应用网关是否已上传对应的信任根证书(自签证书需手动上传)。
    • 调整探针的超时时间和重试次数,避免因后端服务短暂响应延迟导致的误判。
  • 检查后端池与HTTP设置:
    • 验证后端地址池中的服务器IP/FQDN是否正确,无拼写错误或IP变更情况。
    • 确认后端HTTP设置的协议(HTTP/HTTPS)、端口与后端服务完全匹配。

内容的提问来源于stack exchange,提问作者Tdl Matias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:11:54