我在Web应用程序内部具有.net核心API,并且该Web应用程序是azure应用程序网关的后端池。尝试访问Web应用时出现以下错误。
“ 502-Web服务器在充当网关或代理服务器时收到无效的响应。”
在应用程序GW上,该Web应用程序的运行状况概率不正常,但是在以https://abc.azurewebsites.net/api/values的身份访问API时才起作用。
答案 0 :(得分:0)
是的,您可以首先验证后端API是否可以在没有应用程序网关的情况下直接访问。然后,可能由于以下主要原因导致此错误:
- NSG,UDR或自定义DNS阻止了对后端池成员的访问。
- 后端虚拟机或虚拟机规模集实例未响应默认的运行状况探测。
- 自定义运行状况探测器的配置无效或不正确。
- Azure Application Gateway的后端池未配置或为空。
- 虚拟机规模集合中的所有VM或实例都不健康。
- 请求超时或用户请求存在连接问题。
通常,Backend healthy
的状态和详细信息可能会指出来并显示一些线索。您还可以根据此DOC逐一验证上述所有原因。
答案 1 :(得分:0)
当我们在Web App Service中部署API时,apiname.azurewebsites.net无法正常工作,因此无法对应用程序网关进行任何探测,并处理不健康的问题。 API的工作方式类似于xxx.azurewebsites.net/api/values,Application Gateway也知道此路径。我们必须将/ api / values放在 http设置的覆盖后端路径中。在h 探针中也是如此。