Error 504 Gateway Timeout - skąd się bierze i jak go naprawić?

Konstanty Wróblewski .

17 października 2026

Komputer wyświetla komunikat "504 GATEWAY TIMEOUT". Wokół niego ikony: kod, dokument, odświeżanie, okna przeglądarki i koło zębate.

Strona ładuje się długo, a zamiast treści pojawia się komunikat error 504. Taki błąd zwykle nie oznacza problemu z komputerem użytkownika, lecz sytuację, w której serwer pośredniczący zbyt długo czekał na odpowiedź aplikacji, serwera origin albo innej usługi. Wyjaśniam, skąd bierze się kod 504, jak odróżnić go od podobnych błędów i co zrobić jako użytkownik lub administrator strony.

Najważniejsze informacje o błędzie 504 w kilku punktach

  • 504 Gateway Timeout oznacza przekroczenie czasu oczekiwania na odpowiedź z serwera nadrzędnego.
  • Najczęstsze przyczyny to przeciążona aplikacja, wolne zapytania do bazy danych, awaria usługi zewnętrznej albo problem sieciowy.
  • Jeśli błąd widzą wszyscy użytkownicy, problem leży zwykle po stronie serwera lub infrastruktury, a nie przeglądarki.
  • Odświeżenie strony może pomóc tylko przy chwilowym przeciążeniu. Stały błąd wymaga analizy logów i czasu odpowiedzi.
  • Podnoszenie limitu timeoutu bez usunięcia przyczyny często tylko opóźnia awarię i zwiększa obciążenie systemu.

Strona błędu 504 Gateway Timeout. Serwer czeka zbyt długo na odpowiedź.

Co naprawdę oznacza kod 504 Gateway Timeout

Numer 504 należy do grupy błędów HTTP 5xx, czyli problemów powstających po stronie serwera. Dokładniej informuje, że serwer działający jako brama lub proxy otrzymał żądanie, ale nie dostał na czas odpowiedzi od kolejnego elementu infrastruktury.

W praktyce przeglądarka nie zawsze łączy się bezpośrednio z aplikacją. Po drodze może znajdować się reverse proxy, load balancer, firewall aplikacyjny, CDN albo brama API. Każdy z tych elementów może przekazywać żądanie dalej i czekać na odpowiedź. Jeżeli ustalony limit minie, użytkownik zobaczy komunikat o przekroczeniu czasu.

Przykładowy przebieg wygląda tak: przeglądarka wysyła żądanie do serwera WWW, serwer przekazuje je do aplikacji, aplikacja odpytuje bazę danych, a potem wynik wraca tą samą drogą. Gdy baza danych odpowiada po 2 minutach, ale proxy czeka tylko 60 sekund, dla użytkownika operacja kończy się błędem, nawet jeśli aplikacja ostatecznie dostarczyłaby poprawną odpowiedź.

To ważne rozróżnienie. Kod 504 nie mówi automatycznie, że serwer jest całkowicie wyłączony. Często oznacza, że działa, lecz nie zdążył odpowiedzieć w wymaganym czasie. Przyczyna może być chwilowa, ale powtarzające się błędy wskazują już na problem z wydajnością, konfiguracją albo komunikacją między usługami.

Najczęstsze przyczyny przekroczenia czasu

Najbardziej typowym źródłem problemu jest przeciążenie serwera. Gdy rośnie liczba odwiedzających, procesor, pamięć lub liczba dostępnych połączeń może zostać wyczerpana. Nowe żądania trafiają wtedy do kolejki i czekają tak długo, że proxy zamyka połączenie przed otrzymaniem wyniku.

Wolna aplikacja lub zapytanie do bazy

Jedna strona może działać poprawnie, a inna regularnie zwracać 504. Zwykle oznacza to, że problem dotyczy konkretnego procesu, na przykład wyszukiwania produktów, generowania raportu albo pobierania danych z wielu tabel. Szczególnie podejrzane są zapytania bez odpowiednich indeksów, operacje na bardzo dużych zbiorach danych i funkcje wykonujące wiele obliczeń naraz.

W mojej praktyce najczęściej nie zaczynam od zmiany ustawień serwera, tylko od sprawdzenia, który endpoint odpowiada najwolniej. Jeżeli 504 pojawia się wyłącznie przy eksporcie danych, zwiększenie zasobów całej witryny może być mniej skuteczne niż podział eksportu na mniejsze zadania wykonywane w tle.

Awaria usługi zależnej

Nowoczesna strona często korzysta z zewnętrznego systemu płatności, API dostawcy, usługi map, systemu logowania albo magazynu plików. Gdy taka usługa nie odpowiada, aplikacja może bez końca czekać na wynik. Z perspektywy użytkownika wygląda to jak awaria witryny, chociaż źródło leży poza jej głównym serwerem.

Błędna konfiguracja infrastruktury

Timeout może być ustawiony zbyt nisko w proxy, load balancerze lub serwerze aplikacyjnym. Czasem występuje też niezgodność limitów. Przykładowo proxy przerywa połączenie po 30 sekundach, a aplikacja potrzebuje 45 sekund na wygenerowanie raportu.

Nie oznacza to jednak, że należy bez namysłu ustawić bardzo długi limit. Długi timeout nie przyspiesza aplikacji. Jeśli żądanie blokuje zasoby przez kilka minut, większa liczba takich operacji może doprowadzić do jeszcze większego przeciążenia.

Problemy z siecią i DNS

Serwer pośredniczący może mieć trudność z dotarciem do serwera docelowego z powodu zapory, błędnej trasy, niedostępnego portu lub nieprawidłowej konfiguracji DNS. W takim przypadku aplikacja może działać lokalnie, ale nie będzie osiągalna z miejsca, w którym znajduje się proxy.

Znaczenie ma też lokalizacja użytkownika. Jeżeli błąd występuje tylko w jednym regionie, warto sprawdzić routing, działanie konkretnego węzła CDN i reguły bezpieczeństwa. Gdy problem pojawia się globalnie, bardziej prawdopodobna jest awaria originu, aplikacji albo wspólnej usługi zależnej.

504 a inne podobne błędy serwera

Komunikaty 502, 503, 504, 522 i 524 bywają mylone, ale wskazują na różne etapy problemu. Nie każdy dostawca infrastruktury używa ich dokładnie w ten sam sposób, dlatego najważniejsze są logi i miejsce, w którym powstała odpowiedź.

Kod Znaczenie Typowy trop diagnostyczny
502 Proxy otrzymało nieprawidłową odpowiedź od serwera nadrzędnego. Sprawdź aplikację, port, protokół i poprawność odpowiedzi backendu.
503 Usługa chwilowo nie może obsłużyć żądania. Zweryfikuj przeciążenie, tryb konserwacji i dostępne zasoby.
504 Nie nadeszła odpowiedź w wymaganym czasie. Zmierz czas aplikacji, bazy danych i usług zewnętrznych.
522 W niektórych sieciach proxy nie może nawiązać połączenia z originem. Sprawdź osiągalność serwera, firewall i połączenia TCP.
524 Połączenie z originem zostało nawiązane, ale odpowiedź nie pojawiła się na czas. Przeanalizuj długie procesy i limit odczytu odpowiedzi.

Różnica między 502 a 504 jest szczególnie praktyczna. Przy kodzie 502 serwer pośredniczący dostał odpowiedź, ale była ona błędna lub niekompletna. Przy 504 główny problem polega na tym, że odpowiedzi nie było wystarczająco szybko.

Co może zrobić zwykły użytkownik

Jeżeli odwiedzasz stronę i widzisz taki komunikat, zacznij od prostych czynności. Odczekaj minutę lub dwie i odśwież stronę, najlepiej bez wielokrotnego klikania przycisku. Przy chwilowym skoku ruchu kolejna próba może już trafić na zwolniony serwer.

  • Sprawdź inną podstronę tej samej witryny.
  • Otwórz stronę w trybie prywatnym, aby wykluczyć problem z rozszerzeniem lub pamięcią podręczną.
  • Przetestuj połączenie przez inną sieć, na przykład internet mobilny.
  • Sprawdź, czy błąd występuje również na innym urządzeniu.
  • Jeśli problem dotyczy logowania lub płatności, nie wysyłaj formularza wielokrotnie.

Zmiana DNS, czyszczenie cookies czy restart routera rzadko naprawiają prawdziwy timeout po stronie serwera. Mogą pomóc tylko wtedy, gdy problem jest lokalny albo domena kieruje urządzenie do niedostępnego adresu. Jeżeli kilka osób widzi ten sam komunikat, naprawa wymaga działania administratora strony.

Przy zakupach i płatnościach zachowaj ostrożność. Błąd nie zawsze oznacza, że operacja się nie wykonała. Najpierw sprawdź historię zamówień, wiadomość e-mail i obciążenie rachunku, a dopiero później ponów próbę.

Jak zdiagnozować i usunąć problem po stronie serwera

Administrator powinien zacząć od ustalenia zakresu awarii. Trzeba sprawdzić, czy błąd dotyczy całej witryny, jednej ścieżki, konkretnego regionu, określonej metody HTTP czy tylko użytkowników przechodzących przez CDN. Taka informacja szybko zawęża obszar poszukiwań.

Sprawdź logi w odpowiedniej kolejności

Najpierw analizuję logi reverse proxy lub load balancera, a potem logi aplikacji i bazy danych. Szukam czasu żądania, identyfikatora śledzenia, adresu endpointu oraz momentu, w którym połączenie zostało przerwane. Sam komunikat 504 jest objawem, nie pełną diagnozą.

Jeżeli proxy pokazuje 60 sekund oczekiwania, a aplikacja loguje zakończenie zadania po 75 sekundach, przyczyna jest dość klarowna. Jeśli aplikacja nie rejestruje żądania wcale, problem może leżeć wcześniej, na przykład w DNS, firewallu, routingu albo konfiguracji load balancera.

Zmierz najwolniejsze elementy

Warto rozdzielić czas odpowiedzi na kilka etapów: połączenie, wykonanie logiki biznesowej, zapytania do bazy, komunikację z zewnętrznym API i przygotowanie odpowiedzi. Narzędzia APM oraz monitoring infrastruktury pomagają zobaczyć, czy wąskim gardłem jest procesor, pamięć, pula połączeń, blokada w bazie czy opóźnienie sieci.

Skuteczne poprawki zależą od źródła problemu. Czasem wystarczy indeks w bazie, cache dla często pobieranych danych albo ograniczenie liczby rekordów. W innych przypadkach trzeba zwiększyć liczbę instancji aplikacji, rozdzielić ruch lub przenieść długą operację do kolejki zadań.

Przeczytaj również: Wysoki ping - co to jest i jak skutecznie zmniejszyć opóźnienie?

Ustaw timeouty zgodnie z charakterem operacji

Strona logowania i zwykły odczyt danych powinny odpowiadać szybko. Generowanie dużego raportu może trwać dłużej, ale nie zawsze powinno odbywać się w jednym żądaniu HTTP. Najbezpieczniejszy model to uruchomienie zadania w tle, pokazanie statusu postępu i udostępnienie wyniku po zakończeniu.

Timeout warto zwiększać dopiero wtedy, gdy wiadomo, że dłuższy czas jest uzasadniony. Równocześnie trzeba ustawić limity liczby równoległych zadań, monitorować kolejkę i zapewnić kontrolowane ponawianie. Bez tego system może przyjąć więcej pracy, niż jest w stanie przetworzyć.

Jak ograniczyć ryzyko kolejnych timeoutów

Najlepsza ochrona przed powracającym 504 nie polega na samym podniesieniu parametrów serwera. Potrzebny jest monitoring czasu odpowiedzi, alerty dla błędów 5xx i obserwacja najwolniejszych żądań, najlepiej z podziałem na endpointy oraz regiony.

  • Ustaw alert, gdy odsetek odpowiedzi 5xx przekroczy ustalony próg.
  • Mierz percentyle czasu odpowiedzi, zwłaszcza p95 i p99.
  • Testuj aplikację pod obciążeniem przed kampanią lub dużą premierą.
  • Stosuj cache tam, gdzie dane nie muszą być generowane przy każdym żądaniu.
  • Ograniczaj czas oczekiwania na zewnętrzne API i obsługuj jego brak odpowiedzi.
  • Projektuj operacje raportowe i eksportowe jako zadania asynchroniczne.

Pomaga również czytelna strona błędu. Użytkownik powinien dostać informację, że problem jest tymczasowy, oraz wskazówkę, czy ponowić próbę. W systemach biznesowych dobrze działa identyfikator zgłoszenia, dzięki któremu administrator może szybko odnaleźć konkretne żądanie w logach.

Najrozsądniejsza zasada brzmi prosto: najpierw ustal, który element nie odpowiedział na czas, a dopiero potem zmieniaj konfigurację. Dzięki temu kod 504 przestaje być tajemniczym komunikatem, a staje się użytecznym sygnałem o konkretnym problemie między użytkownikiem, proxy i aplikacją.

FAQ - Najczęstsze pytania

Błąd 504 oznacza, że serwer pośredniczący, taki jak proxy, load balancer lub CDN, nie otrzymał na czas odpowiedzi od aplikacji albo serwera origin. Nie musi to oznaczać całkowitej awarii serwera, ponieważ może on działać, ale odpowiadać zbyt wolno.
Kod 502 oznacza nieprawidłową odpowiedź serwera nadrzędnego, a 503 chwilową niedostępność usługi. Przy 504 odpowiedź nie nadeszła wystarczająco szybko. Kod 522 dotyczy problemu z nawiązaniem połączenia z originem, natomiast 524 oznacza nawiązane połączenie bez odpowiedzi w wymaganym czasie.
Odczekaj minutę lub dwie i odśwież stronę, sprawdź inną podstronę oraz przetestuj witrynę w trybie prywatnym, na innym urządzeniu lub przez inną sieć. Przy logowaniu i płatnościach nie wysyłaj formularza wielokrotnie. Najpierw sprawdź historię zamówień, wiadomość e-mail i obciążenie rachunku.
Najpierw należy ustalić, czy problem dotyczy całej witryny, jednego endpointu, regionu lub CDN, a następnie przeanalizować logi proxy, aplikacji i bazy danych. Trzeba zmierzyć czas zapytań, komunikacji z usługami zewnętrznymi i przygotowania odpowiedzi. Pomóc może indeks w bazie, cache, większa liczba instancji aplikacji albo przeniesienie długiej operacji do kolejki zadań.
Oceń artykuł

Średnia: 4.5 / 5 · 2 oceny

Tagi

proxy bazy danych cdn monitoring timeouty
Autor Konstanty Wróblewski
Konstanty Wróblewski
Nazywam się Konstanty Wróblewski i od 10 lat zajmuję się nowoczesnymi technologiami, IT oraz chmurą. Moja przygoda z tymi tematami zaczęła się od fascynacji możliwościami, jakie oferują nowe rozwiązania technologiczne. Lubię zgłębiać skomplikowane zagadnienia, upraszczając je w sposób, który ułatwia ich zrozumienie. Pracuję nad tym, aby dostarczać czytelnikom rzetelne, aktualne i przystępne informacje, które pomagają im poruszać się w dynamicznie zmieniającym się świecie technologii. W swoich tekstach skupiam się na analizie trendów, porównywaniu różnych rozwiązań oraz wyjaśnianiu złożonych problemów związanych z IT i chmurą. Dążę do tego, aby każda publikacja była nie tylko informacyjna, ale także inspirująca, zachęcająca do dalszego odkrywania tego fascynującego obszaru.
Komentarze (2)
  • Z

    Zbychu

    17 października 2026

    No ludzie, ile razy ja to widziałem! Serio, ten 504 to jakaś plaga, zwłaszcza jak człowiek chce coś szybko załatwić, a tu nagle BUM – gateway timeout. Zawsze myślałem, że to po prostu mój internet szwankuje albo strona jest jakaś lewa, ale ten artykuł to mi trochę oczy otworzył. Czyli to nie zawsze wina mojego łącza, tylko często serwer ma czkawkę, bo na przykład baza danych nie nadąża… Albo ta aplikacja jest tak przeciążona, że nie wyrabia. No i to z tym podnoszeniem limitu timeoutu bez naprawy przyczyny – to jest genialne, bo faktycznie, kto by pomyślał, że to tylko odroczy wyrok, a nie rozwiąże problemu. Mega przydatne info, dzięki! 😂

    Konstanty WróblewskiKonstanty WróblewskiAutor

    17 października 2026

    Cieszę się, że pomogłem! :)

  • C

    Czytelniczka

    17 października 2026

    Ojej, ten błąd 504 to moja zmora ostatnio! Jak dzieciaki oglądają bajki w internecie i nagle wyskakuje, to jest płacz i zgrzytanie zębów... A ja wtedy tylko odświeżam stronę w kółko, licząc, że zadziała. Teraz już wiem, że to nie zawsze pomoże, bo problem może być głębiej. Muszę zapamiętać, żeby sprawdzić, czy tylko u nas tak jest, czy u wszystkich. Dzięki za wyjaśnienie! 😊

Dodaj komentarz