2017-09-05 135 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 
相關問題