2017-09-05 3 views
2

Ich habe eine neue Anwendung Gateway nach dem MS-Dokument eingerichtet. Ich habe den Back-End-Pool konfiguriert. Er ist über FQDN mit einem App-Service verbunden. Irgendwie bekomme ich sofort 502, wenn ich zum Application Gateway gehe. Surfen auf der Website direkt funktioniert ohne Probleme.Application Gateway - 502 Fehler

+0

Haben konfigurieren Sie Gesundheit Sonden? Ohne Gesundheitsproben wird das gesamte Backend als tot betrachtet. Deshalb habe ich den 502. – evilSnobu

+0

Ich habe eine benutzerdefinierte Gesundheitssonde hinzugefügt, die das Problem nicht behoben hat, was sehr frustrierend ist. Ich habe dann das empfohlene MS Power Shell-Skript ausgeführt, um Application Gateway zu erstellen, und es hat funktioniert. Ich ging durch jede Komponente und verglichen den einzigen Unterschied ist, weil die zweite über Power-Shell erstellt wurde das Host-Feld der Health Probe wurde leer gelassen. während Sie es über das Portal erstellen, müssen Sie einen Hostnamen haben. Ich sage, das ist ein Fehler bei der Erstellung von Application Gateway über Azure-Portal –

+0

Betrachten Sie Ihr Back-End als Load Balancer für eine Reihe von Webservern, die mehrere Websites hosten. Würdest du mir zustimmen, dass du jederzeit mit dem 'Host'-Header explizit sein musst? – evilSnobu

Antwort

1

Ich habe dieses Problem gelöst. Hier ist die Lösung.

Wenn Sie Web-Apps in Ihren Back-End-Pools haben, können Sie die Health-Probes nicht über das Azure-Portal einrichten.

Sie müssen sie über Ressourcenvorlagen oder Powershell einrichten. Der Schlüssel ist, dass Sie das Host-Feld leer lassen und die Eigenschaft -PickHostNameFromBackendAddress setzen müssen.

Link to MS document

Die beiden Linien haben unter den Zauber der 502s zu machen weggehen

# 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 
Verwandte Themen