带有API作为后端池的Azure应用程序网关不起作用

时间:2019-04-18 08:45:53

标签: api web-services azure-application-gateway

我在Web应用程序内部具有.net核心API,并且该Web应用程序是azure应用程序网关的后端池。尝试访问Web应用时出现以下错误。

“ 502-Web服务器在充当网关或代理服务器时收到无效的响应。”

在应用程序GW上,该Web应用程序的运行状况概率不正常,但是在以https://abc.azurewebsites.net/api/values的身份访问API时才起作用。

2 个答案:

答案 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 探针中也是如此。