Je wilt je website bezoeken, maar krijgt een foutmelding te zien: HTTP error 504. Oh nee! Een onbereikbare website kost gewoon omzet. Websitebezoekers verdwijnen net zo snel weer als ze gekomen zijn en verliezen het vertrouwen in je bedrijf. Wat is een HTTP error 504 en hoe los je hem op?
HTTP Fout 504 is een fout die kan optreden op de webserver die de website host. Het probleem kan verschillende oorzaken hebben, zoals overbelasting van de server of een verkeerde configuratie. In dit artikel bekijken we wat deze fout veroorzaakt en hoe hij verholpen kan worden.
Wat is de HTTP 504 error precies?
Een 504 Gateway Timeout Error betekent dat je webserver geen tijdig antwoord kreeg van een andere server toen hij probeerde een van je webpagina’s te laden. Simpel gezegd communiceren je webservers niet snel genoeg met elkaar. In tegenstelling tot andere HTTP errors is de HTTP 504 error vrij algemeen en geeft het niet precies aan wat de oorzaak van het probleem is. Wanneer dit gebeurt, zal je website een foutmelding geven aan je bezoekers.
Telkens als je een website bezoekt in je browser, stuurt de browser een verzoek naar de webserver waar de site gehost wordt. De server verwerkt het verzoek en antwoordt met de gevraagde bronnen.
Het antwoord van de server bevat een van de vele HTTP-statuscodes om de status van het antwoord aan de browser aan te geven. Maar niet al deze HTTP-statuscodes zijn fouten. Een 200 OK statuscode betekent bijvoorbeeld dat de server het verzoek met succes heeft verwerkt en “Alles is OK”.
De 5xx klasse van HTTP statuscodes geeft aan dat er iets mis is met de server, dat de server zich daarvan bewust is, en dat hij het verzoek van de cliënt niet kan uitvoeren. Daarom worden ze ook wel aangeduid als Server Error 5xx statuscodes.
Officieel zijn er vijf statuscodes onder de 5xx klasse (500, 501, 502, 503, 504). Je kunt ook veel onofficiële codes tegenkomen (506, 507, 509, 520, enz.). De Internet Engineering Task Force (IETF) definieert de HTTP 504 error als:
“De HTTP 504 error statuscode geeft aan dat de server, terwijl hij als gateway of proxy fungeerde, geen tijdig antwoord kreeg van een upstream server waartoe hij toegang moest krijgen om het verzoek te voltooien.”
Om het verder te vereenvoudigen: deze fout treedt op wanneer twee servers betrokken zijn bij het verwerken van een verzoek. De eerste server (meestal de hoofdserver) loopt uit en wacht op een antwoord van de tweede server (upstream server).
Wat veroorzaakt de HTTP 504 error?
Omdat de HTTP 504 error het gevolg is van een time-out tussen servers, ligt het probleem waarschijnlijk niet bij het apparaat of de internetverbinding van de client. Dat geldt ook voor jouw apparaat en verbinding.
Een 504 Gateway Timeout fout geeft aan dat de webserver te lang wacht op een antwoord van een andere server en “uitvalt”. Er kunnen vele redenen zijn voor deze time-out: de andere server functioneert niet goed, is overbelast, of uitgevallen.
De andere server hoeft niet altijd extern te zijn (bijvoorbeeld: een CDN of API-gateway). Het kan ook een entiteit zijn binnen de primaire webserver die zich gedraagt als een aparte server (zoals een reverse proxy server of databaseserver).
Komt dit probleem vaker voor? Hosting vergelijken kan je dan wellicht helpen. Gerenommeerde hosting partijen zijn onder andere Cloud86, SiteGround en Hostinger.
Hoe kun je een 504 HTTP error oplossen?
Ervaar je een HTTP 504 error op jouw website? Dan wil je deze natuurlijk zo snel mogelijk oplossen. Er zijn verschillende manieren om een HTTP 504 error op te lossen, afhankelijk van de reden van de fout. Hieronder noem ik er vijf.
1. Herlaad de pagina
Als je een “Gateway Timeout” foutmelding ziet, kun je een minuut of twee wachten en proberen de pagina te verversen. In veel browsers kun je gewoon op F5 drukken om de pagina opnieuw te laden. Als dat niet werkt, druk dan op CTRL+F5; deze snelkoppeling leegt de cache van de browser voordat de pagina opnieuw wordt geladen.
Als je problemen met de browser wilt uitsluiten, probeer dan de site in een andere browser te laden. De error HTTP 504 fout is meestal te wijten aan overbelaste servers en deze oplossing zou ervoor moeten zorgen dat je site meteen weer opkomt.
2. Controleer je proxy instellingen
Een proxyserver is een computer die tussen jouw apparaat en het internet staat. Hij wordt meestal gebruikt om de online privacy te verbeteren door je privégegevens (bijvoorbeeld de locatie van je apparaat) te verbergen voor websites en webservers (bijvoorbeeld door een VPN te gebruiken).
Hoewel onwaarschijnlijk, kan een HTTP 504 error soms veroorzaakt worden door het gebruik van een proxyserver. Als je denkt dat dit het geval kan zijn, probeer dan je proxy instellingen uit te schakelen en de pagina opnieuw te laden om te zien of dat de error HTTP 504 oplost.
Als je er zeker van bent dat noch je geen proxyserver heeft ingesteld, dan kun je deze volgende stap overslaan. Maar zelfs als je je er niet van bewust bent, kan er al een proxyserver zijn ingesteld. Om er zeker van te zijn dat dat niet het geval is, controleer je de proxy-instellingen van zowel je apparaat als je browser.
3. Schakel tijdelijk de CDN uit
Bij de beste WordPress hosting partijen, zoals onder andere Bluehost, krijg je tegenwoordig een gratis CDN.
Maar deze kan wel een HTTP 504 error veroorzaken. Als de origin server van een website onbereikbaar wordt, zullen de meeste CDN’s proberen de hele webpagina uit hun cache te serveren. Dit is echter geen standaard functie, omdat het moeilijk kan zijn om dynamische items op verschillende sites op te slaan (bijv. WordPress admin control panel).
Een gemakkelijke methode om dit te testen is door je CDN voor korte tijd uit te schakelen. Als je de gratis CDN Enabler WordPress plugin gebruikt, die de elementen van je site verbindt met de CDN URL’s, dan kun je de plugin uitschakelen en observeren hoe je site weer laadt.
Alle andere plugins die je gebruikt om verbinding te maken met je CDN zullen op een vergelijkbare manier werken (bijv. WP Rocket, Breeze, W3 Total Cache).
Als je geen toegang hebt tot het admin dashboard van je site, kun je de plugin via SFTP uitschakelen door de mapnaam van de plugin te hernoemen.
4. Controleer server problemen bij hosting provider
Een van de meest voorkomende redenen waarom je een error HTTP 504 error kunt krijgen is vanwege serverproblemen. Veel WordPress sites worden gehost op Nginx of Apache webservers, dus als een van beide uitvalt, krijg je waarschijnlijk deze foutmelding.
Heb je een website met veel verkeer, zoals een webshop, dan is de kans op een HTTP 504 error aanwezig vanwege overbelasting van de server. Ze genereren namelijk veel niet-cachebare verzoeken. Dit probleem kan echter bij elke site optreden, ook bij simpele blogs. Als je dit probleem vaker hebt, is je website verhuizen naar een andere hostingpartij verstandig.
5. Controleer thema’s en plugins
Pas op met de thema’s en plugins die je installeert. Deze zijn lang niet allemaal even veilig. Kijk altijd goed naar hoelang het geleden is dat ze een update hebben gehad en wat de beste WordPress plugins zijn voor wat je voor ogen hebt. Het Astra WordPress thema, Elementor Pro en Divi Builder worden allemaal regelmatig ge-update.
In de meeste gevallen veroorzaken plugins en thema’s van derden geen HTTP 504 error. Maar er is een kleine kans dat ze server timeouts veroorzaken, meestal door veel niet-gecachte verzoeken verzoeken die door de plugin/het thema worden gegenereerd in de wachtrij te zetten. Omdat dit veel van de PHP werkers van je server in beslag neemt, kan het een HTTP 504 error veroorzaken.
Een voorbeeld hiervan is WooCommerce, een plugin ontworpen om e-commerce mogelijkheden toe te voegen aan WordPress sites. De eenvoudigste manier om dit probleem op te lossen is door al je plugins uit te schakelen. Vergeet niet dat je geen gegevens verliest als je gewoon een plugin deactiveert.