HTTP-fout 504
504 Gateway Timeout: wat het betekent en hoe u het oplost
Het korte antwoord
Er hoeft niets gecrasht te zijn. Iets is gewoon te traag, en de server ervoor stopte met wachten voordat uw site kon antwoorden.
- Back-up vóór elke wijziging
- Vaste prijs vooraf
- Op afstand, overal ter wereld
- Gratis diagnose
Een 504 is een timingprobleem, en elke laag heeft zijn eigen stopwatch. Standaard wacht nginx 60 seconden op PHP, stopt PHP een script na 30 seconden (max_execution_time), en meldt Cloudflare een eigen 524 als uw server er langer dan 100 seconden over doet. De stopwatch die als eerste afloopt, bepaalt welke fout u ziet.
Herkenbaar?
Herkenningspunten van een 504 Gateway Timeout
- Een pagina met “504 Gateway Timeout” of, op nginx, “Gateway Time-out”
- Een Cloudflare-pagina met “Error 524: A timeout occurred”
- Alleen bepaalde pagina’s vallen uit: zoeken, rapporten, de checkout, een import of het beheerscherm
- Een pagina draait 30 tot 60 seconden en geeft dan een fout
- Het werd erger naarmate uw database of verkeer groeide, of na een nieuwe plugin of import
Oorzaken
Waardoor ontstaat een 504 Gateway Timeout?
Trage databasequeries
Een query die een grote tabel zonder index doorzoekt kan tientallen seconden duren. Naarmate uw data groeit, schuift een pagina die snel laadde over de timeout heen.
Trage scripts of zware pagina’s
Paginabouwers, grote productlijsten, beeldverwerking of rapporten die in één verzoek te veel werk doen.
Externe API-aanroepen die blijven hangen
Wacht uw site op een betaalprovider, verzendservice of andere API die niet antwoordt, dan wacht de pagina mee, tot de gateway opgeeft.
Zware imports, back-ups of cronjobs
Een taak die in kantooruren draait, neemt workers en databasecapaciteit af van bezoekers.
Timeoutlimieten die niet op elkaar passen
Is de timeout van de gateway korter dan de tijd die PHP mag draaien, dan trekt de gateway altijd aan het kortste eind. De limieten moeten passen bij het werk dat een pagina echt doet.
De upstream-server is overbelast
Zijn PHP-workers of de database bezig met andere verzoeken, dan staan nieuwe in de rij tot de timeout toeslaat.
Zelf proberen
Eerst zelf controleren bij een 504 Gateway Timeout
Veilige dingen om eerst te controleren. Limieten verhogen is de laatste stap, niet de eerste.
- 1 Noteer welke URL’s falen. Zijn het er maar een paar (zoeken, checkout, één beheerpagina), dan is een zware pagina de oorzaak en niet de hele server.
- 2 Kijk wat er tegelijk draait: een back-up, een import, een herindexering van de zoekfunctie of een cronjob. Pauzeer die en probeer opnieuw.
- 3 Bekijk de logs. In nginx bevestigt “upstream timed out (110: Connection timed out) while reading response header from upstream” het wachten; het slow log van PHP toont welk script draaide.
- 4 Hernoem op WordPress even wp-content/plugins naar plugins-uit. Back-up-, beveiligingsscan-, gerelateerde-berichten- en paginabouwerplugins zijn veelvoorkomende boosdoeners.
- 5 Vraag uw host of het MySQL slow query log aan kan. Dat toont precies welke queries seconden duren. Maak een back-up voordat u tabellen opschoont of optimaliseert.
- 6 Verhoog pas daarna de timeout, bijvoorbeeld max_execution_time of fastcgi_read_timeout, als tijdelijke maatregel. Een pagina die 90 seconden nodig heeft, frustreert bezoekers nog steeds.
Onze aanpak
Zo lossen wij een 504 Gateway Timeout op
-
1
We vinden het trage verzoek
We achterhalen welke pagina, query of aanroep de tijd kost met de webserver-, PHP- en databaselogs, zodat we het trage deel herstellen en niet alleen het symptoom.
-
2
Back-up vóór elke wijziging
Eerst een volledige kopie van bestanden en database, zodat elke wijziging ongedaan te maken is.
-
3
Oorzaak, vaste prijs, uw akkoord
De diagnose is gratis. U krijgt de oorzaak in gewone taal, een vaste prijs en een tijdsinschatting. Zonder uw akkoord begint er niets.
-
4
Versnellen, testen en rapporteren
We maken het trage deel sneller, stellen timeouts in die bij het werk passen, controleren de pagina’s die faalden en sturen een kort rapport.
Wat we nodig hebben
Wat wij van u nodig hebben
- Toegang tot uw hostingpaneel of SSH, inclusief de webserver- en PHP-logs
- Databasetoegang, of de mogelijkheid het slow query log aan te zetten
- Een beheerderslogin voor uw CMS of applicatie, als dat er is
- Welke pagina’s of acties falen, wanneer het begon en wat er eerder veranderde
We vragen de minimale toegang die nodig is, gebruiken per klant een aparte sleutel en u kunt die intrekken zodra we klaar zijn.
Wat wij niet kunnen oplossen
We kunnen geen 504 oplossen die komt door een trage externe dienst die wij niet beheren, of door een hostingpakket dat simpelweg te klein is voor het werk. Dan zeggen we dat na de gratis diagnose, laten we zien waar de tijd heen gaat en adviseren we over de realistische opties.
Prijs
Prijs en wat er daarna gebeurt
-
1
Gratis diagnose
We zoeken de oorzaak en vertellen u wat er mis is.
-
2
Vaste prijs
U krijgt een prijs en een tijdsinschatting. Zonder uw ja begint er niets.
-
3
Opgelost en gerapporteerd
We herstellen het, testen het en sturen een kort verslag.
Vanaf €295 excl. btw
Vaste prijs, afgesproken voordat we beginnen
Is het dringend? Zeg het in het formulier of in de chat. We beginnen zo snel als we kunnen en geven u bij de offerte een realistische tijdsinschatting. Kost voorrang extra, dan ziet u dat in de offerte voordat u akkoord gaat.
Laat het oplossenVragen?
Veelgestelde vragen over de 504-fout
Ook bekeken
Gerelateerde problemen
HTTP-fout 502
Een 502 Bad Gateway betekent dat een server die als gateway of proxy werkt, zoals nginx of Cloudflare, een ongeldig of geen antwoord kreeg v...
Lees meer →HTTP-fout 503
Een 503 Service Unavailable betekent dat de server draait maar uw verzoek nu niet aankan, omdat hij overbelast is, in onderhoudsmodus staat...
Lees meer →Databasefout
“Error establishing a database connection” betekent dat de code van uw site draait, maar de database met uw inhoud niet kan bereiken of er n...
Lees meer →Laatst bijgewerkt:
Aanvraag
Vertel ons wat er mis is
Beantwoord een paar korte vragen. U krijgt een vaste prijs voordat we iets doen.
Bedankt voor uw aanvraag!
We nemen spoedig contact met u op
Er is een fout opgetreden!
Probeer het alstublieft opnieuw.