Logo David Burdelak
Blog

Błąd 504 (Gateway Timeout) – co oznacza i jak go naprawić?

Błąd 504 (Gateway Timeout)

Komunikat 504 Gateway Timeout to techniczne "spóźniłeś się". Serwer pełniący funkcję bramy lub proxy (np. Nginx lub Cloudflare) czekał cierpliwie na odpowiedź od serwera nadrzędnego (backendu), ale ten nie wyrobił się w zadanym czasie. W przeciwieństwie do błędu 502, gdzie odpowiedź była błędna, tutaj odpowiedzi nie ma wcale – serwer aplikacji "zamulił" na tyle mocno, że połączenie zostało przerwane ze względu na upłynięcie limitu czasu (timeout).

Dlaczego serwer nie zdążył z odpowiedzią?

Błąd 504 zazwyczaj nie jest winą samej przeglądarki czy użytkownika, lecz głębszych problemów z wydajnością infrastruktury. Do najczęstszych przyczyn należą:

  • Powolne zapytania do bazy danych: Gdy skrypt PHP musi czekać kilkanaście sekund na dane z MySQL, brama proxy może stracić cierpliwość i zerwać połączenie.
  • Zbyt długie operacje w tle: Generowanie dużych plików PDF, obróbka zdjęć lub wysyłka masowych maili wykonywana synchronicznie podczas ładowania strony.
  • Przeciążenie serwera aplikacji: Brak wolnych wątków procesora sprawia, że nowe żądania trafiają do kolejki, w której czekają zbyt długo.
  • Zewnętrzne API: Twój serwer czeka na dane z zewnętrznego systemu (np. bramki płatności), który przestał odpowiadać.

Jak zdiagnozować i wyeliminować błąd 504?

Walka z błędem 504 to przede wszystkim walka o wydajność i optymalizację czasu odpowiedzi. Jeśli Twoja strona regularnie "timeoutuje", ucierpią na tym wszystkie kluczowe wskaźniki wydajności.

Zbyt długie czasy oczekiwania (TTFB) bezpośrednio degradują Twoje Core Web Vitals, co przekłada się na gorsze doświadczenia użytkowników i niższe pozycje w Google. Aby znaleźć źródło problemu, musisz sprawdzić, co najbardziej obciąża Twój backend. Najczęściej winna jest komunikacja strony z bazą danych – brak odpowiednich indeksów lub zbyt skomplikowane zapytania potrafią zatrzymać wykonywanie skryptu na długie sekundy, prowokując bramę do wyrzucenia błędu 504.

Sprawdź najczęściej spotykane błędy HTTP

Błąd 504 to ostatni z serii najpopularniejszych kodów odpowiedzi, które powinien znać każdy webdeveloper. Zobacz komplet poradników o pozostałych błędach: