Azure Application Gateway 502 Fehler
Ich die Arbeit mit der Azure application gateway und stecken Sie die folgende Fehlermeldung.
Hier meine Netzwerk-Diagramm
Hier das powershell-Skript, das ich noch konfigurieren
Poweshell-Ausgang
PS C:\Users\shabbir.akolawala> Get-AzureApplicationGateway sbr2appgateway
Name : sbr2appgateway
Description :
VnetName : Group Shabs-AppGateway2 sbag2vnet
Subnets : {sbag2subnet1}
InstanceCount : 2
GatewaySize : Small
State : Running
VirtualIPs : {104.41.159.238} <-- Note IP Here
DnsName : 01b9b0e4-4cd2-4437-b641-0b5dc4e3efe7.cloudapp.net
Hier die öffentliche IP-Adresse des application gateway ist 104.41.159.238
Nun, wenn ich Treffer für die erste Zeit, die Sie auf das gateway, erhalten Sie folgende Ausgabe
Beachten Sie, diese Webseite nicht korrekt dargestellt wird, wie viele Anfrage (css/Bilder) nicht mit 502.
Nun, wenn ich dieses zweite mal habe ich alsbald bekommen die 502-Fehler
Aber, wenn schlagen die cloud-service-IP, die ich meine website richtig
Hatte ich konfigurieren der Azure-Gateway mit folgender Konfiguration XML
Meine Fragen sind,
1] Hat einer eine Idee, wie wie access-logs die erzeugt werden in der Application Gateway (In der Theorie -, Anwendungs-gateway läuft auf IIS 8.5 /ARR)
2] offensichtliche Fehler, die ich gemacht, im design oder in der Konfiguration?
- Hast du jemals das gelöst? Ich bin in der genau gleichen situation, und immer den exakt gleichen Fehler. Aber habe keine Lösung gefunden, und keine Möglichkeit, zu erfahren, was der tatsächliche Fehler ist.
- NÖ, Aber ich habe Ahnung von der Gesundheits-Sonden. Bei einem Treffer das erste mal, application gateway initiieren, die die Gesundheit der Sonde, rechnen Sie die zweite Zeit, die Sie auf den service, die app-gateway entfernt den server aus dem pool daher sofort die Rückkehr 502.
- Wenn wenden Sie sich an Microsoft, für die Problembehandlung, hier ist die Antwort, die ich
Service as it stands at the moment does not expose any logs or diagnostics. If depth troubleshooting help is required, we will need to look into raising an advisory ticket
- Ja, ich fand es heraus. Es wurde verursacht durch die Gesundheits-Sonde. Meine app eine Authentifizierung erfordert, aber es scheint, wie die-Sonde ist nur in der Lage, eine anonyme Verbindung. Also die Sonde war immer ein Fehler den status, und entfernt alle Server aus dem pool. Also konfigurierte ich einen Weg, der es ermöglicht anonym, und erstellt eine benutzerdefinierte Sonde zeigen, dass, und jetzt ist es alles funktioniert
- unser team ist fest auf genau dem gleichen Fehler 502
- Ich glaube, mein team hat gerade dieses Problem gelöst. Wir liefen Knoten.js/hapi und wenn Sie wireshark die Aktivitäten zwischen den web application gateway und dem server, Sie werden wahrscheinlich sehen, ACK/RST fordert, dass die Ursache der route fehl, und die 502 auftreten. Wir haben dieses Problem gelöst, durch hinzufügen server.listener.keepAliveTimeout = 120e3; Die keepAliveTimeout auf Ihrem http-Dienst (apache,node - /express - /hapi, nginx) töten Sie die Verbindung, wenn der client (gateway) nicht abgeschlossen wird die Anfrage innerhalb von 5 Sekunden. Es dauerte 4 Tage mit MS zu beheben. Hoffe es hilft Euch allen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Er es wegen timeout.
1, Probe hat standardmäßig 30 Sekunden timeout. wenn Sie die Anwendung authentifizieren, müssen Sie die benutzerdefinierte Sonde.
2, Application Gateway ist standardmäßig 30 Sekunden timeout wie gut. wenn Ihr Application Gateway bekommt keine Antwort von backend virtuellen Maschine. wird es wieder HTTP 502. es kann geändert werden über "RequestTimeout" configuration item.
PowerShell:
Config-Datei:
Detail : https://azure.microsoft.com/en-us/documentation/articles/application-gateway-create-probe-classic-ps/
Nur die Erweiterung dieser @Lang ' s Antwort für Menschen, die mit dem Ressourcen-Manager eher als Klassiker. Die folgenden Powershell-Skript wird aktualisiert, einen neuen angefordert timeout von 120 Sekunden für jede
BackendHttpSetting
innerhalb der Ziel-app-gateway.Ich erstellte benutzerdefinierte healthchecks, aber noch nie versucht in websever access-log.
Also ich habe gerade die route auf backend zu bedienen jede domain inklusive IP-Adresse, und fügen htpasswd Schutz auf echte domains.
Azure application gateway überprüfen http://backend_ip:80/ und wurde glücklich-gateway 🙂