Et 504 Gateway Timeout-Feil er en HTTP response status code
indikerer at en server, som for tiden fungerer som en gateway eller proxy, ikke får et tidsriktig svar fra en annen server videre oppstrøms. Som med de fleste HTTP-svar koder som angir en feil som dette, kan det være vanskelig å fastslå den eksakte årsaken til en 504 Gateway Timeout Error
., Det er dusinvis av mulige HTTP-statuskoder som brukes til å representere komplekse forholdet mellom klient, en web-applikasjon, en web server, og ofte flere tredjeparts web-tjenester, for så å finne årsaken til en bestemt status kode kan være en utfordring, selv under de beste omstendigheter.
i denne artikkelen vil vi undersøke 504 Gateway Timeout Error
ved å se på noen tips om feilsøking og potensielle løser vanlige problemer som kan være årsaken til dette problemet, så la oss komme i gang!,
Problemet er Server-Side
Alle HTTP-svar status koder som er i 5xx
kategorien er vurdert server error responses
. Lik 502 Bad Gateway Error
vi har sett på i det siste, en 504 Gateway Timeout Error
angir at noe har gått galt med en gateway
eller proxy
server som er lengre oppstrøms. Generelt nettverk språkbruk, en upstream server
er en server som leverer en tjeneste til (dvs. er tilgjengelig med) en annen server., Dermed kan en server som er oppstrøms ligger høyere i den samlede server hierarkiet enn en server som er downstream
. En annen måte å tenke på oppstrøms versus nedstrøms er deres relative nærhet til enheten (dvs. client
) — jo større antall hopp som kreves for å overføre data fra klienten til serveren i spørsmålet videre upstream
at serveren er plassert.,
Siden 504 Gateway Timeout Error
indikerer at noe har gått galt i server
av programmet, kan vi i stor grad se bort fra client
siden av ting. Hvis du prøver å diagnostisere et problem med din egen søknad, kan du umiddelbart ignorere de fleste klient-side kode og komponenter, for eksempel HTML, CSS (cascading style sheets), klient-side JavaScript, og så videre. Dette gjelder ikke kun for å nettsteder, enten., Mange smart-phone-apper som har et moderne utseende brukergrensesnittet er faktisk drevet av en vanlig web-applikasjon bak kulissene, en som er bare skjult fra brukeren. Hvis du bruker en slik søknad og en 504 Gateway Timeout Error
forekommer, er problemet ikke kommer til å være knyttet til appen installert på telefonen eller lokale testing enheten. I stedet, vil det bli noe på server-siden, som utfører de fleste av logikk og behandling bak kulissene, utenfor oppgavene til det lokale grensesnittet som presenteres til brukeren.,
når Det er sagt, det er ikke nødvendigvis tilfelle at den spesifikke web server
for at programmet kjører på er kilden til problemet. I stedet, det er fullt mulig at alle deler av det aktuelle programmet (sammen med sine servere) fungerer feilfritt, men en 504 Gateway Timeout Error
kan fortsatt skje hvis en oppstrøms server problemer.
Start Med en Grundig Søknad Backup
Som med alt annet, det er bedre å ha spilt det trygt i starten enn å skru opp noe og kommer til å angre på det senere på nedover veien., Som sådan, er det viktig at du utfører en fullstendig sikkerhetskopiering av din søknad, database, og så videre, før du prøver noen reparasjoner eller endringer i systemet. Enda bedre, hvis du har mulighet, kan du opprette en komplett kopi av programmet på en sekundær staging
– server som ikke er «live», eller ikke er ellers aktiv og tilgjengelig for publikum. Dette vil gi deg en ren prøvefelt med å teste alle mulige reparasjoner for å løse problemet, uten truer sikkerheten eller hellighet av det aktive programmet.,
Diagnostisering et 504 Gateway Tidsavbrudd for Feil
Som nevnt, en 504 Gateway Timeout Error
betyr at en server som er upstream
til en som du (client
) kobler til, ikke får en «tidsriktig» svar fra en annen server videre oppstrøms. I dette scenariet dette indikerer at serveren som gir 504 Gateway Timeout Error
virker som en gateway
, så la oss ta et øyeblikk for å diskutere hva en gateway (eller proxy-server) er., I de fleste HTTP-kommunikasjon, en client
vil koble til en server
via en tredje-part gateway
datamaskin. Gateway fungerer som, vel, en gateway, som meldinger fra client
kan sikkert sendt til server
, og vice-versa. En gateway
fungerer som en node
innenfor større nettverk web, kobling og ruting kommunikasjon mellom flere client
, server
, og andre noden typer innenfor (virtuelle) nærhet.,
enten du Tror det eller ikke, de fleste hjem med Internett-tilgang selv har en aktiv gateway. Ditt lokale hjemmenettverk, som er sannsynlig oppsett via en ruter (eller ruter+modem hybrid), vanligvis tildeler IP-adresser til alle enheter på nettverket ved hjelp av base-adressen til 192.168.1.*
, der stjernen endres avhengig av enheten., I de fleste tilfeller, kommunikasjon fra et slikt lokale nettverk-adresse til en annen lokalt nettverk adresse er tillatt, men når datamaskinen prøver å koble til en IP-adresse utenfor denne basen utvalg, ruterens gateway
vil fange den, og utføre kommunikasjonen mellom datamaskinen og ekstern server på dine vegne.
I noen situasjoner er det web server kjører programmet ditt kan være årsaken til problemet., Dette er spesielt sant når din server kjører enten en kombinasjon frontend+backend-postserver (for eksempel Nginx og Apache), eller web server er å stole på tredjeparts tjenester, som vanligvis er plassert andre steder på ytterligere oppstrøms servere. Noen av oppstrøms-servere som din klient (nettleseren) er å koble til via kan være nede eller opplever problemer på denne tiden, noe som kan føre til en forsinkelse i behandlingen og føre til 504 Gateway Timeout Error
du ser.
Fremfor alt, Google er din venn., Ikke vær redd for å søke etter bestemte vilkår knyttet til problemet, for eksempel navnet på programmet er CMS eller web server-programvare, sammen med 504 Gateway Timeout Error
. Sjansene er du vil finne andre som har opplevd dette problemet og har potensielt blitt gitt en løsning.,
Feilsøking på Server-Siden
Her er noen flere tips for å hjelpe deg med å feilsøke hva som kan være årsaken 504 Gateway Timeout Error
vises på server-siden av ting:
-
Recent DNS Changes
– Domain Name System (DNS
) er en desentralisert naming system for enheter som er koblet gjennom et nettverk (selv en massiv-nettverk, for eksempel Internett i seg selv). Kort sagt,DNS
tilknyttede selskaper domenenavn (f.eks.,airbrake.io
) til bestemte IP-adresser, og butikker som forening i en rekke autoritative navnetjenere fordelt rundt omkring i verden. Derfor, når du ber din datamaskin til å koble tilairbrake.io
, datamaskinen faktisk sjekker med et nærliggendeDNS
navnet på serveren for å finne ut hva den bestemte IP-adressen (internett-ressurs) er at den skal koble seg til. Fra deres perspektiv er det å gå direkte tilairbrake.io
, men bak kulissene trafikken rutes til en IP-adresse (52.203.232.56
i dette tilfellet)., Følgelig, programmet kan presentere en504 Gateway Timeout Error
hvis nettstedet ditt har gjort de siste endringer i DNS-server, som er et resultat av endrede host servere eller flytter nettstedet til en annen IP-adresse. Slik DNS-endringer, kjent somDNS propagation
, er ikke umiddelbar, og noen ganger kan ta et par timer å overføre hele den autoritative navnetjenere., -
Server Connectivity Issues
– Selv om det kan høres enkelt, det er fullt mulig at en504 Gateway Timeout Error
indikerer bare at en server et eller annet sted i kjeden er nede eller utilgjengelig for uansett grunn. De fleste moderne programmer som ikke bor på en enkelt server, men kan i stedet være spredt over flere systemer, eller til og med avhengige av mange tredjeparts tjenester skal fungere. Hvis en av disse serverne er nede for vedlikehold eller på annen måte utilgjengelig, kan dette resultere i en feilmelding som ser ut til å være fra din egen applikasjon., -
Improper Firewall Configuration
– en brannmur er En grunnleggende sikkerhet enhet som overvåker nettverkstrafikken og fungerer som en gatekeeper, bestemmer hvilken trafikk som er trygge og hvilke som kan være skadelige. I de fleste tilfeller, alle potensielt farlig trafikk er stoppet (og kanskje være logget inn for network admin-bruker). I enkelte situasjoner er det fullt mulig for en brannmur er konfigurert et sted på nettverket der programmet kjører for å hindre noen form for kritisk trafikk fra å komme gjennom., Dette gjelder særlig for programmer som er avhengige av innhold levering nettverk (CDNs
), som fungerer som en tredjepart er vert for «tung» innhold, for eksempel bilder eller videoer, hosting at innholdet på vegne av søknaden din, slik at programmet kan opprettholde sin hastighet og effektivitet. Imidlertid, automatisk brannmurtjenester noen ganger kan utføre falske positiver, oppfatter helt trygt og gyldig innhold fra CDNs eller andre steder som er skadelig, og dermed stenge av at strøm av innhold på et øyeblikk, noe som kan føre til en504 Gateway Timeout Error
., -
Check the Logs
– Nesten alle web-applikasjonen vil holde noen form for server-side og logger.Application logs
er vanligvis historien om hva programmet gjorde, for eksempel hvilke sider som ble forespurt, som servere den er koblet til, noe som database resultater det gir, og så videre.Server logs
knyttet til selve maskinvaren som kjører programmet, og vil ofte gi deg opplysninger om helse-og status på alle tilkoblede tjenester, eller til og med bare selve serveren., Google «logger» hvis du bruker et CMS eller «logs» og «logger» hvis du kjører et egendefinert program, for å få mer informasjon om å finne den logger seg i spørsmålet. -
Application Code or Script Bugs
– Hvis alt annet svikter, kan det være et problem i noen egendefinerte koden i appen din som forårsaker problemet. Prøv å diagnostisere hvor problemet kan komme fra gjennom manuelt debugging søknaden, sammen med analysering gjennom programmet og server logger., Ideelt sett, kan du lage en kopi av hele programmet til en lokal utvikling-maskinen og utføre en trinn-for-trinn-debug-prosessen, som vil tillate deg å gjenskape den eksakte situasjon der504 Gateway Timeout Error
oppstått og se programmet kode det øyeblikket noe går galt.
uansett hva årsaken er, utseendet til en 504 Gateway Timeout Error
kommer fra din egen web-applikasjon er en sterk indikasjon på at det kan hende du trenger en feil management verktøy for å hjelpe deg å automatisk oppdage disse og andre feil i fremtiden., Slike mekanismer kan også varsle deg og ditt team umiddelbart når det oppstår en feil. Airbrake er feil overvåking programvare gir real-time error overvåking og automatisk unntak rapportering for alle utviklingsprosjekter. Airbrake state of the art web-oversikten sikrer at du får round-the-klokke status oppdateringer på programmet for helse og feil priser. Uansett hva du arbeider på, Airbrake enkelt integreres med alle de mest populære språkene og rammeverkene., Plus, Airbrake gjør det enkelt å tilpasse unntak parametre, samtidig som det gir deg full kontroll over aktive feil filter system, slik at du bare samle de feil som betyr mest for deg.
Sjekk ut Airbrake er feil overvåking programvare, i dag og se selv hvorfor så mange av verdens beste engineering team bruk Airbrake å revolusjonere deres unntak håndtering praksis!