Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 14033|Antwoord: 0

Alibaba Cloud SLB load balancing oplossing voor 502 slechte gateway gateway fout

[Link kopiëren]
Geplaatst op 13-08-2019 14:42:43 | | | |
Ik gebruik de Alibaba Cloud SLB load balancer al meer dan 5 jaar, en ik gebruik hem al sinds de eerste interne bèta van Alibaba Cloud, en na de implementatie deed zich de volgende fout voor:



502 Slechte Gateway

Fouten komen af en toe voor, na het eerste opstarten is er geen 502 gateway-fout, na een minuut wachten verschijnt de fout, de backend Windows Server IIS-container ASP.NET website.

Klik op IIS vanaf de server om de browser te openen, je kunt normaal browsen, SLB load balancing indirecte problemen, dit is de eerste keer dat ik dit tegenkom.

Oplossing:

Het probleem verschijnt voornamelijk in de instellingen van "Health Check Method", de standaardinstellingen zijn als volgt:



De backend-gezondheidscontrole wordt via de headway aangevraagd, en als de bijbehorende statuscode 2xx of 3xx teruggeeft, wordt de backendserver als normaal beschouwd.

We probeerden een headerverzoek op drie manieren te doen: eerst heb ik het lokale project direct uitgevoerd en lokaal getest.

Test 1:

Gebruik de postmantest zoals hieronder weergegeven:



Terugkerend naar de 404 Not Found-staat, weten we hier wat het veroorzaakte.

Test 2:

Gebruik de krultest zoals hieronder weergegeven:

Windows (64-bit) download met het curl-commando met de tool
https://www.itsvse.com/thread-3409-1-1.html
(Bron: Architect_Programmer)
C:\Users\itsvse>curl -i -X HEAD http://localhost:60155/
Warning: Setting custom HTTP method to HEAD with -X/--request may not work the
Warning: way you want. Consider using -I/--head instead.
HTTP/1.1 404 Niet gevonden
Cache-Control: private
Content-Length: 4432
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/10.0
X-SourceFiles: =?UTF-8?B?QzpccHJvamVjdFxteVxDb2RlU2hhcmluZ1xDb2RlU2hhcmluZy5XZWJVSVxIb21lXEVycm9yNDA0?=
X-Powered-By: ASP.NET
Date: Tue, 13 Aug 2019 03:53:04 GMT

curl: (56) Recv failure: Connection was reset



Ook wordt een 404-statuscode teruggegeven.

Test 3:

Deze keer testten we direct op de officiële server, via de curl-test onder PowerShell, zoals te zien is in de onderstaande figuur:



Je kunt zien dat dezelfde pagina wordt aangevraagd via het hoofd,Soms keren ze terug404Statuscode, soms teruggegeven200Statuscode, waarmee de intermitterende 502-fouten die we aan het begin tegenkwamen bevestigen.

Wat veroorzaakt asp.net af en toe 404- en 200-statuscodes teruggeven?

Omdat onze homepage een cache heeft, wordt de pagina succesvol gecachet wanneer de gebruiker de get-methode gebruikt om de homepage aan te vragen, en dan zullen de head en get altijd de gecachte pagina teruggeven, en ook de 200-antwoordcode teruggeven; als na het verlopen van de cache geen gebruiker een get method-verzoek doet, alleen het head-methodeverzoek via het commando, zal er een 404-fout optreden. Men schat dat weinig mensen dit soort problemen zullen tegenkomen.

De oplossing is om alle responsstatuscodes in de health check-modus te controleren, zoals weergegeven in de onderstaande figuur:



Hoe je afwijkingen in de gezondheidscontroles van Layer 7 Listening (HTTP/HTTPS) kunt troubleshooten:De hyperlink-login is zichtbaar.

(Einde)




Vorig:Overwegingen bij het gebruik van Amazon AWS CloudFront
Volgend:Dag 76 in Shenzhen
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com