504-Gateway-Timeoutfout: wat het Is en hoe het te repareren

een 504-Gateway-Timeoutfout is een HTTP response status code die aangeeft dat een server, die momenteel fungeert als gateway of proxy, geen tijdig antwoord heeft ontvangen van een andere server verder stroomopwaarts. Zoals met de meeste HTTP response codes die een fout als deze aangeven, kan het moeilijk zijn om de exacte oorzaak van een 504 Gateway Timeout Errorte bepalen., Er zijn tientallen mogelijke HTTP-statuscodes die worden gebruikt om de complexe relatie tussen de client, een webapplicatie, een webserver en vaak meerdere webservices van derden weer te geven, dus het bepalen van de oorzaak van een bepaalde statuscode kan een uitdaging zijn, zelfs onder de beste omstandigheden.

in dit artikel zullen we de 504 Gateway Timeout Error onderzoeken door te kijken naar een paar tips voor het oplossen van problemen en mogelijke oplossingen voor veelvoorkomende problemen die dit probleem kunnen veroorzaken, dus laten we beginnen!,

het probleem is Server-Side

alle HTTP response statuscodes die zich in de 5xx Categorie bevinden, worden beschouwd als server error responses. Vergelijkbaar met de 502 Bad Gateway Error waar we in het verleden naar hebben gekeken, geeft een 504 Gateway Timeout Error aan dat er iets mis is gegaan met een gateway of proxy server die verder stroomopwaarts is. Een upstream server is een server die een service levert aan (dat wil zeggen wordt benaderd door) een andere server., Een server die upstream is, bevindt zich dus hoger in de totale serverhiërarchie dan een server die downstreamis. Een andere manier om te denken aan upstream versus downstream is hun relatieve nabijheid tot uw apparaat — dat wil zeggen de client) – hoe groter het aantal hops dat nodig is om gegevens van uw client naar de server in kwestie over te brengen, hoe verder upstream die server zich bevindt.,

aangezien de 504 Gateway Timeout Error aangeeft dat er iets mis is gegaan binnen de server van uw toepassing, kunnen we de client grotendeels negeren. Als u een probleem probeert te diagnosticeren met uw eigen applicatie, kunt u de meeste client-side code en componenten onmiddellijk negeren, zoals HTML, cascading style sheets (CSS), client-side JavaScript, enzovoort. Dit geldt ook niet alleen voor websites., Veel slimme telefoon apps die een modern ogende gebruikersinterface hebben, worden eigenlijk aangedreven door een normale webapplicatie achter de schermen; een die gewoon verborgen is voor de gebruiker. Als u een dergelijke toepassing gebruikt en een 504 Gateway Timeout Error optreedt, zal het probleem niet gerelateerd zijn aan de app die op uw telefoon of lokaal testapparaat is geïnstalleerd. In plaats daarvan zal het iets aan de server-kant zijn, dat het grootste deel van de logica en verwerking achter de schermen uitvoert, buiten het bereik van de lokale interface die aan de gebruiker wordt gepresenteerd.,

Dat gezegd hebbende, is het niet noodzakelijk het geval dat de specifieke web server waarop uw toepassing draait de bron van het probleem is. In plaats daarvan is het heel goed mogelijk dat elk aspect van uw specifieke toepassing (samen met zijn servers) feilloos werkt, maar een 504 Gateway Timeout Error kan nog steeds optreden als een upstream server problemen ondervindt.

begin met een grondige applicatie back-up

zoals met alles, is het beter om het veilig te hebben gespeeld bij het begin dan om iets te verknallen en later spijt te krijgen., Als zodanig, is het van cruciaal belang dat u een volledige back-up van uw toepassing uit te voeren, database, enzovoort, voordat u een fixes of wijzigingen aan het systeem. Nog beter, als je de mogelijkheid hebt, maak dan een volledige kopie van de applicatie aan op een secundaire staging server die niet “live” is of anderszins niet actief en beschikbaar is voor het publiek. Dit geeft u een schone proeftuin waarmee u alle mogelijke oplossingen kunt testen om het probleem op te lossen, zonder de veiligheid of heiligheid van uw live-toepassing in gevaar te brengen.,

diagnosticeren van een 504 Gateway Timeout fout

zoals vermeld, betekent een 504 Gateway Timeout Error dat een server die upstream is naar een server waarmee u verbinding maakt (de client) geen “tijdig” antwoord heeft ontvangen van een andere server verderop stroomopwaarts. In dit scenario geeft dit aan dat de server die de 504 Gateway Timeout Error levert, fungeert als een gateway, dus laten we een moment nemen om te bespreken wat een gateway (of proxy) is., In de meeste HTTP-communicatie zal een client verbinding maken met een server via een derde partij gateway computer. De gateway fungeert als een gateway, waardoor berichten van de client veilig naar de server kunnen worden verzonden, en vice versa. Een gateway fungeert als een node binnen het grotere netwerk, het verbinden en routeren van communicatie tussen meerdere client, server, en andere knooppunttypen binnen de (virtuele) omgeving.,

geloof het of niet, de meeste huizen met internettoegang hebben zelfs een actieve gateway. Uw lokale thuisnetwerk, dat waarschijnlijk is ingesteld via een router (of router+modem hybride), kent meestal IP-adressen toe aan alle apparaten in uw netwerk met behulp van het basisadres van 192.168.1.*, waarbij de sterretje verandert afhankelijk van het apparaat., In de meeste gevallen is communicatie van een dergelijk lokaal netwerkadres naar een ander lokaal netwerkadres toegestaan, maar wanneer uw computer probeert verbinding te maken met een IP-adres buiten dit basisbereik, zal de gateway van uw router het onderscheppen en namens u de communicatie tussen uw computer en de externe server uitvoeren.

in sommige situaties kan de webserver die uw toepassing draait de oorzaak van het probleem zijn., Dit geldt in het bijzonder wanneer uw server een combinatie frontend+backend server setup draait (zoals Nginx en Apache), of de webserver vertrouwt op diensten van derden, die meestal elders op extra upstream servers staan. Alle upstream servers waarmee uw client (webbrowser) verbinding maakt, kunnen op dit moment down zijn of problemen ondervinden, wat een vertraging in de verwerking kan veroorzaken en kan leiden tot de 504 Gateway Timeout Error die u ziet.

bovenal is Google uw vriend., Wees niet bang om te zoeken naar specifieke termen met betrekking tot uw probleem, zoals de naam van de CMS-of webserversoftware van uw toepassing, samen met 504 Gateway Timeout Error. De kans is groot dat je anderen die dit probleem hebben ervaren en hebben mogelijk een oplossing.,

problemen oplossen op de Server-kant

Hier zijn enkele extra tips om u te helpen problemen op te lossen waardoor 504 Gateway Timeout Error op de server-kant van dingen verschijnt:

  • Recent DNS Changes – The Domain Name System (DNS) is een gedecentraliseerd naamgevingssysteem voor apparaten die via een netwerk zijn verbonden (zelfs een massief netwerk, zoals het internet zelf). In het kort, de DNS associates domeinnamen (bijv., airbrake.io) naar specifieke IP-adressen, en slaat die associatie op in een reeks gezaghebbende nameservers verspreid over de hele wereld. Dus als u uw computer vraagt om verbinding te maken met airbrake.io, controleert uw computer in feite met een nabijgelegen DNS name server om erachter te komen wat het specifieke IP-adres (internet resource) is waarmee het verbinding moet maken. Vanuit uw perspectief gaat het direct naar airbrake.io, maar achter de schermen wordt het verkeer naar een IP-adres geleid (52.203.232.56, in dit geval)., Bijgevolg kan uw toepassing een 504 Gateway Timeout Error presenteren als uw site recente wijzigingen heeft aangebracht aan zijn DNS-server, wat het gevolg is van het veranderen van hostservers of het verplaatsen van de site naar een ander IP-adres. Dergelijke DNS-wijzigingen, bekend als DNS propagation, zijn niet direct en kunnen soms een paar uur duren om door alle gezaghebbende nameservers te verspreiden.,
  • Server Connectivity Issues – hoewel het eenvoudig klinkt, is het heel goed mogelijk dat een 504 Gateway Timeout Error simpelweg aangeeft dat een server ergens in de keten down of onbereikbaar is om welke reden dan ook. De meeste moderne toepassingen bevinden zich niet op een enkele server, maar kunnen in plaats daarvan worden verspreid over meerdere systemen, of zelfs vertrouwen op veel diensten van derden om te functioneren. Als een van deze servers down is voor onderhoud of anderszins ontoegankelijk, kan dit resulteren in een fout die lijkt te zijn van uw eigen toepassing.,
  • Improper Firewall Configuration – een firewall is een standaard beveiligingsapparaat dat netwerkverkeer bewaakt en fungeert als een gatekeeper, die bepaalt welk verkeer veilig is en welke kwaadaardig kan zijn. In de meeste gevallen wordt al het potentieel schadelijke verkeer gestopt (en kan worden geregistreerd voor gebruik door netwerkbeheerder). In sommige situaties is het heel goed mogelijk dat een firewall die ergens op het netwerk is geconfigureerd waarin uw toepassing wordt uitgevoerd, voorkomt dat een bepaalde vorm van kritiek verkeer erdoor komt., Dit geldt in het bijzonder voor toepassingen die afhankelijk zijn van content delivery networks (CDNs), die fungeren als een derde partij host voor “zware” inhoud zoals afbeeldingen of video ‘ s, hosten die inhoud namens uw applicatie, zodat uw applicatie zijn snelheid en efficiëntie kan behouden. Automatische firewallservices kunnen echter soms fout-positieven uitvoeren, waarbij ze volkomen veilige en geldige inhoud van CDN ‘ s of elders als kwaadaardig verwarren, waardoor die stream van inhoud in een handomdraai wordt afgesloten, wat kan leiden tot een 504 Gateway Timeout Error.,
  • Check the Logs – bijna elke webapplicatie zal een of andere vorm van server-side logs bijhouden. Application logs zijn typisch de geschiedenis van wat de toepassing deed, zoals welke pagina ‘ s werden opgevraagd, welke servers het verbond met, welke database resultaten het levert, enzovoort. Server logs zijn gerelateerd aan de hardware die de toepassing draait, en zal vaak details geven over de status en status van alle verbonden services, of zelfs alleen de server zelf., Google ‘logs’ als u een CMS gebruikt, of ‘logs’ en ‘logs’ als u een aangepaste toepassing uitvoert, om meer informatie te krijgen over het vinden van de logs in kwestie.
  • Application Code or Script Bugs – als al het andere mislukt, kan het zijn dat een probleem in sommige aangepaste code binnen uw toepassing het probleem veroorzaakt. Probeer te diagnosticeren waar het probleem kan komen uit door handmatig debuggen van uw toepassing, samen met het parsen door middel van toepassing en server logs., Idealiter maakt u een kopie van de gehele toepassing naar een lokale ontwikkelmachine en voert u een stap-voor-stap debugproces uit, waarmee u het exacte scenario kunt herscheppen waarin de 504 Gateway Timeout Error is opgetreden en de toepassingscode kunt bekijken op het moment dat er iets misgaat.

ongeacht de oorzaak, het verschijnen van een 504 Gateway Timeout Error afkomstig van uw eigen webapplicatie is een sterke indicatie dat u mogelijk een foutbeheerprogramma nodig hebt om deze en andere fouten in de toekomst automatisch te detecteren., Dergelijke mechanismen kunnen u en uw team zelfs onmiddellijk waarschuwen wanneer er een fout optreedt. Airbrake ‘ s error monitoring software biedt real-time fout monitoring en automatische uitzondering rapportage voor al uw ontwikkelingsprojecten. Airbrake ‘ s state of the art web dashboard zorgt ervoor dat u 24-uurs statusupdates ontvangt over de gezondheid en foutenpercentages van uw toepassing. Het maakt niet uit waar je aan werkt, Airbrake integreert gemakkelijk met de meest populaire talen en frameworks., Plus, Airbrake maakt het gemakkelijk om uitzondering parameters aan te passen, terwijl u volledige controle over de actieve fout filter systeem, zodat u alleen de fouten die het meest belangrijk te verzamelen.

Bekijk vandaag nog Airbrake ’s error monitoring software en ontdek zelf waarom zoveel van’ s werelds beste technische teams Airbrake gebruiken om hun exception handling practices te veranderen!

Leave a Comment