2017-09-05 109 views
2

我已经在MS文档之后建立了一个新的应用程序网关。我配置了后端池,它通过FQDN连接到应用服务。不知何故,我每次浏览到应用程序网关时都立即收到502。浏览到网站直接工作没有问题。应用程序网关 - 502错误

+0

是否配置状况探测?如果没有健康探测器,您所有的后端都会被认为已经死机,这就是为什么我添加了一个自定义健康探测器的502. – evilSnobu

+0

仍然没有解决令人非常沮丧的问题。然后我运行推荐的MS Power shell脚本来创建应用程序网关,并且它工作正常。我浏览了每个组件,并比较了唯一的区别,因为第二个组件是通过power-shell创建的,因此Health Probe的主机字段为空。而通过门户创建它,你必须有一个主机名。我说这是通过Azure门户创建应用程序网关的一个错误 –

+0

考虑一下你的后端是一个负载均衡器,它面向一群托管多个站点的Web服务器。您是否同意我的观点,您需要始终明确使用“主机”标题? – evilSnobu

回答

1

我已解决此问题。这是解决方案。

如果您在后端池中有Web应用程序,则无法通过Azure门户设置健康状况探测器。

您需要通过资源模板或Powershell进行设置。关键是您需要将主机字段留空并设置-PickHostNameFromBackendAddress属性。下面

Link to MS document

两线做了魔法,使502S走

# Create a probe with the PickHostNameFromBackendHttpSettings switch for web apps 
$probeconfig = New-AzureRmApplicationGatewayProbeConfig -name webappprobe -Protocol Http -Path/-Interval30 -Timeout120 -UnhealthyThreshold3 -PickHostNameFromBackendHttpSettings 



# Define the backend http settings 
$poolSetting = New-AzureRmApplicationGatewayBackendHttpSettings -Name appGatewayBackendHttpSettings -Port80 -Protocol Http -CookieBasedAffinity Disabled -RequestTimeout120 -PickHostNameFromBackendAddress -Probe $probeconfig 
相关问题