504 Gateway Timeout-fel: vad det är och hur man fixar det

ett 504 Gateway Timeout-fel är ett HTTP response status code som indikerar att en server, som för närvarande fungerar som en gateway eller proxy, inte fick ett aktuellt svar från en annan server längre uppströms. Som med de flesta HTTP-svarskoder som indikerar ett fel som detta kan det vara svårt att bestämma den exakta orsaken till en 504 Gateway Timeout Error., Det finns dussintals möjliga HTTP-statuskoder som används för att representera det komplexa förhållandet mellan klienten, en webbapplikation, en webbserver och ofta flera webbtjänster från tredje part, så att bestämma orsaken till en viss statuskod kan vara en utmaning, även under de bästa omständigheterna.

i den här artikeln kommer vi att undersöka 504 Gateway Timeout Error genom att titta på några felsökningstips och potentiella korrigeringar för vanliga problem som kan orsaka problemet, så låt oss komma igång!,

problemet är serversidan

alla HTTP – svarsstatuskoder som finns i kategorin 5xx betraktas som server error responses. I likhet med502 Bad Gateway Error vi har tittat på tidigare indikerar en504 Gateway Timeout Error att något har gått fel med engateway ellerproxy server som är längre uppströms. I allmänhet är networking parlance enupstream server en server som tillhandahåller en tjänst till (dvs nås av) en annan server., Således ligger en server som är uppströms högre i den övergripande serverhierarkin än en server som är downstream. Ett annat sätt att tänka på uppströms kontra nedströms är deras relativa närhet till din enhet (dvs. client) — ju större antal humle som krävs för att överföra data från din klient till servern i fråga, desto längre upstream den servern finns.,

eftersom504 Gateway Timeout Error indikerar att något har gått fel iserver I din ansökan, kan vi i stor utsträckning bortse frånclient sidan av saker. Om du försöker diagnostisera ett problem med ditt eget program kan du omedelbart ignorera de flesta klientsidans kod och komponenter, till exempel HTML, cascading style sheets (CSS), JavaScript på klientsidan och så vidare. Detta gäller inte enbart för webbplatser, antingen., Många smarta telefonappar som har ett modernt användargränssnitt drivs faktiskt av en vanlig webbapplikation bakom kulisserna; en som helt enkelt är dold från användaren. Om du använder ett sådant program och en 504 Gateway Timeout Error inträffar kommer problemet inte att relateras till appen installerad på din telefon eller lokala testenhet. Istället kommer det att vara något på serversidan, som utför det mesta av logiken och bearbetningen bakom kulisserna, utanför det lokala gränssnittet som presenteras för användaren.,

som sagt är det inte nödvändigtvis fallet att den specifika web server som programmet körs på är källan till problemet. I stället är det helt möjligt att varje aspekt av din speciella applikation (tillsammans med dess servrar) fungerar felfritt, men en 504 Gateway Timeout Error kan fortfarande uppstå om en uppströmsserver upplever problem.

börja med en grundlig Programbackup

som med någonting är det bättre att ha spelat det säkert i början än att skruva upp något och ångra det senare på vägen., Som sådan, Det är viktigt att du utför en fullständig säkerhetskopia av din ansökan, databas, och så vidare, innan du försöker några korrigeringar eller ändringar i systemet. Ännu bättre, om du har möjlighet, skapa en fullständig kopia av programmet på en sekundärstaging server som inte är ”live” eller inte är annars aktiv och tillgänglig för allmänheten. Detta ger dig en ren testplats för att testa alla potentiella korrigeringar för att lösa problemet, utan att hota säkerheten eller heligheten i din live-applikation.,

diagnostisera en 504 Gateway Timeout fel

som nämnts, en504 Gateway Timeout Error innebär att en server som ärupstream till en som du (client) ansluter till inte fick en ”tid” svar från en annan server längre längs uppströms. I detta scenario indikerar detta att servern som tillhandahåller 504 Gateway Timeout Error fungerar som en gateway, så låt oss ta en stund att diskutera vad en gateway (eller proxy) är., I de flesta HTTP-kommunikation kommer en client att ansluta till en server via en tredje part gateway dator. Gateway fungerar som, ja, en gateway, genom vilken meddelanden från client kan säkert skickas till server, och vice versa. Agateway fungerar som ennode inom den större nätverkswebbplatsen, ansluta och dirigera kommunikation mellan fleraclient,server och andra nodtyper inom (virtuella) närheten.,

tro det eller ej, de flesta hem med tillgång till Internet har även en aktiv gateway. Ditt lokala hemmanätverk, som sannolikt är inställt via en router (eller router+modemhybrid), tilldelar vanligtvis IP-adresser till alla enheter i nätverket med hjälp av basadressen för 192.168.1.*, där asterisken ändras beroende på enheten., I de flesta fall är kommunikation från en sådan lokal nätverksadress till en annan lokal nätverksadress tillåten, men när datorn försöker ansluta till en IP-adress utanför det här basintervallet kommer routerns gateway att fånga upp den och utföra kommunikationen mellan din dator och fjärrservern för din räkning.

i vissa situationer kan webbservern som kör programmet vara orsaken till problemet., Detta gäller särskilt när din server kör antingen en kombination frontend + backend server setup (t.ex. Nginx och Apache), eller webbservern förlitar sig på tjänster från tredje part, som vanligtvis finns någon annanstans på ytterligare uppströms servrar. Någon av de uppströms servrar som din klient (webbläsare) ansluter via kan vara nere eller upplever problem vid denna tidpunkt, vilket kan orsaka en fördröjning i behandlingen och leda till 504 Gateway Timeout Error du ser.

framför allt är Google din vän., Var inte rädd för att söka efter specifika termer relaterade till ditt problem, till exempel namnet på programmets CMS-eller webbserverprogramvara, tillsammans med 504 Gateway Timeout Error. Chansen är att du hittar andra som har upplevt detta problem och har potentiellt fått en lösning.,

felsökning på serversidan

Här är några ytterligare tips som hjälper dig att felsöka vad som kan orsaka att504 Gateway Timeout Error visas på serversidan av saker:

  • Recent DNS Changes-domännamnssystemet (DNS) är ett decentraliserat namngivningssystem för enheter som är anslutna via Internet.ett nätverk (även ett massivt nätverk, som Internet själv). Kort sagt,DNS associerar domännamn (t. ex., airbrake.io) till specifika IP-adresser och lagrar den föreningen i en serie auktoritativa namnservrar spridda runt om i världen. När du ber datorn att ansluta tillairbrake.io kontrollerar datorn faktiskt med en närliggandeDNS namnserver för att ta reda på vad den specifika IP-adressen (internetresurs) är att den ska ansluta till. Ur ditt perspektiv går det direkt till airbrake.io, men bakom kulisserna dirigeras trafiken till en IP-adress (52.203.232.56, I det här fallet)., Följaktligen kan din ansökan presentera en 504 Gateway Timeout Error om din webbplats har gjort nya ändringar i sin DNS-server, vilket är ett resultat av att värdservrar ändras eller att webbplatsen flyttas till en annan IP-adress. Sådana DNS-ändringar, som kallas DNS propagation, är inte omedelbara och kan ibland ta några timmar att sprida sig i alla auktoritativa namnservrar.,
  • Server Connectivity Issues – även om det kan låta enkelt, är det helt möjligt att en504 Gateway Timeout Error helt enkelt indikerar att en server någonstans i kedjan är nere eller oåtkomlig av någon anledning. De flesta moderna applikationer bor inte på en enda server, men kan istället spridas över flera system, eller till och med förlita sig på att många tredjepartstjänster ska fungera. Om någon av dessa servrar är nere för underhåll eller på annat sätt otillgänglig kan detta leda till ett fel som verkar vara från din egen applikation.,
  • Improper Firewall Configuration – en brandvägg är en grundläggande säkerhetsenhet som övervakar nätverkstrafik och fungerar som gatekeeper, bestämmer vilken trafik som är säker och som kan vara skadlig. I de flesta fall stoppas all potentiellt skadlig trafik (och kan loggas för nätverksadministratörsanvändning). I vissa situationer är det helt möjligt för en brandvägg konfigurerad någonstans i nätverket där din ansökan körs för att förhindra att någon form av kritisk trafik kommer igenom., Detta gäller särskilt för program som är beroende av innehållsleveransnätverk (CDNs), som fungerar som en tredje part värd för” tunga ” innehåll som bilder eller videor, värd för innehållet på uppdrag av din ansökan, så att din ansökan kan behålla sin hastighet och effektivitet. Men automatiska brandväggstjänster kan ibland utföra falska positiva, misstog helt säkert och giltigt innehåll från CDN eller någon annanstans som skadligt, och därmed stänga av den strömmen av innehåll på ett ögonblick, vilket kan leda till en 504 Gateway Timeout Error.,
  • Check the Logs – nästan varje webbapplikation kommer att behålla någon form av serversidan loggar. Application logs är vanligtvis historiken för vad programmet gjorde, till exempel vilka sidor som begärdes, vilka servrar det kopplade till, vilka databasresultat det ger och så vidare. Server logs är relaterade till den faktiska hårdvaran som kör programmet, och kommer ofta att ge information om hälsa och status för alla anslutna tjänster, eller till och med bara servern själv., Google ”loggar” om du använder ett CMS, eller ”loggar” och ”loggar” om du kör ett anpassat program, för att få mer information om att hitta loggarna i fråga.
  • Application Code or Script Bugs – om allt annat misslyckas kan det vara så att ett problem i någon anpassad kod i din applikation orsakar problemet. Försök att diagnostisera där problemet kan komma från genom att manuellt felsöka din ansökan, tillsammans med att analysera via program-och serverloggar., Helst gör en kopia av hela programmet till en lokal utvecklingsmaskin och utför en steg-för-steg-felsökningsprocess, vilket gör att du kan återskapa det exakta scenariot där 504 Gateway Timeout Error inträffade och visa programkoden för tillfället något går fel.

oavsett orsaken är utseendet på en 504 Gateway Timeout Error som kommer från din egen webbapplikation en stark indikation på att du kan behöva ett felhanteringsverktyg som hjälper dig att automatiskt upptäcka dessa och andra fel i framtiden., Sådana mekanismer kan till och med varna dig och ditt lag omedelbart när ett fel uppstår. Airbrakes felövervakningsprogram ger realtidsfelövervakning och automatisk undantagsrapportering för alla dina utvecklingsprojekt. Airbrakes toppmoderna webbinstrumentpanel säkerställer att du får dygnet runt statusuppdateringar på din applikations hälsa och felfrekvenser. Oavsett vad du arbetar med, integreras Airbrake enkelt med alla de mest populära språken och ramarna., Dessutom gör Airbrake det enkelt att anpassa undantagsparametrar, samtidigt som du får fullständig kontroll över det aktiva felfiltersystemet, så du samlar bara de fel som betyder mest.

kolla in Airbrakes felövervakningsprogram idag och se själv varför så många av världens bästa ingenjörsteam använder Airbrake för att revolutionera sina undantagshanteringspraxis!

Leave a Comment