DNS RobotDNS Propagation Checker
GłównaDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

Checker propagacji DNS nowej generacji

Polityka PrywatnościRegulaminO nasBlogKontakt

Narzędzia DNS

Wyszukiwanie DNSTest Szybkości DNSDomena na IPWyszukiwanie NSWyszukiwanie MXZobacz wszystko

Narzędzia E-mail

Sprawdzanie Rekordu SPFSprawdzanie DMARCSprawdzanie DKIMTest SMTPAnaliza Nagłówków E-mailZobacz wszystko

Narzędzia Stron WWW

Wyszukiwanie WHOISSprawdzanie hostinguDostępność DomenyWyszukiwarka SubdomenWykrywanie CMSZobacz wszystko

Narzędzia Sieciowe

Narzędzie PingTracerouteSprawdzanie PortówSprawdzanie Nagłówków HTTPSprawdzanie Certyfikatu SSLZobacz wszystko

Narzędzia IP

Wyszukiwanie IPJaki Jest Mój IPSprawdzanie Czarnej Listy IPIP na HostnameWyszukiwanie ASNZobacz wszystko

Narzędzia Pomocnicze

Skaner QR CodeGenerator QR CodeUPI QR Code GeneratorWiFi QR Code GeneratorTłumacz Kodu Morse'aZobacz wszystko
© 2026 DNS Robot. Opracowane przez: ❤ Shaik Brothers
Wszystkie systemy działają
Made with
Strona główna/Blog/502 Bad Gateway: co oznacza i jak naprawić błąd 502

502 Bad Gateway: co oznacza i jak naprawić błąd 502

Shaik Vahid30 wrz 202611 min czytania
Strona błędu 502 Bad Gateway z nginx obok pięciu kontroli, które naprawiają większość błędów 502
Strona błędu 502 Bad Gateway z nginx obok pięciu kontroli, które naprawiają większość błędów 502

Kluczowy wniosek

502 Bad Gateway oznacza, że serwer, do którego dotarłeś, jest bramą lub proxy (nginx, Cloudflare, load balancer) i dostał nieprawidłową odpowiedź od serwera aplikacji, który stoi za nim. Jako odwiedzający odczekaj minutę, odśwież stronę i sprawdź, czy witryna nie działa u wszystkich. Jako właściciel strony znajdziesz przyczynę w jednej linii logu błędów nginx: aplikacja nie działa, proxy_pass wskazuje zły port lub gniazdo, aplikacja padła w trakcie żądania albo nagłówki odpowiedzi nie zmieściły się w buforze proxy.

Advertisement

Czym jest błąd 502 Bad Gateway?

502 Bad Gateway to kod statusu HTTP, który oznacza, że serwer, który Ci odpowiada, działa jako brama lub proxy i dostał nieprawidłową odpowiedź od serwera, który stoi za nim. Standard HTTP (RFC 9110, sekcja 15.6.3) definiuje go dokładnie tak: serwer, „działając jako brama lub proxy, otrzymał nieprawidłową odpowiedź od serwera wewnętrznego, do którego się odwołał, próbując zrealizować żądanie”.

Większość współczesnych stron ma co najmniej dwie warstwy. Serwer frontowy, taki jak nginx, Apache, Cloudflare lub chmurowy load balancer, przyjmuje Twoje połączenie, a potem przekazuje żądanie do aplikacji upstream, takiej jak PHP-FPM, aplikacja Node.js, pythonowy Gunicorn czy kontener. Gdy upstream nie działa, ulega awarii albo odpowiada czymś, czego proxy nie potrafi użyć, proxy nie ma Ci czego oddać, więc zwraca 502.

Najważniejsze: sama brama działa. Odebrała Twoje żądanie i odpowiedziała. Usterka leży o krok dalej.

Uwaga

Błąd 502 prawie nigdy nie jest winą Twojego urządzenia. To błąd po stronie serwera, więc jako odwiedzający możesz głównie go potwierdzić, poczekać i wykluczyć nieaktualną pamięć podręczną. Prawdziwe rozwiązania kryją się w logach właściciela strony.

Różne oblicza błędu 502

Kod statusu jest wszędzie ten sam, ale wygląd strony zależy od tego, które proxy ją wygenerowało:

Skąd pochodziCo mówi strona
nginx502 Bad Gateway, a pod spodem nginx (czasem z numerem wersji)
Apache (mod_proxy)Proxy Error. The proxy server received an invalid response from an upstream server.
CloudflareError 502 Bad gateway z polami statusu Browser / Cloudflare / Host
Microsoft IIS (ARR / ASP.NET Core)HTTP Error 502.3 - Bad Gateway albo HTTP Error 502.5 - Process Failure
Usługi Google502. That's an error. The server encountered a temporary error…
Przeglądarki / aplikacjeHTTP Error 502, 502 Proxy Error, Bad Gateway: The proxy server received an invalid response

Niezależnie od wersji nazwa proxy w stopce strony jest cenną wskazówką: mówi właścicielowi witryny, którą warstwę zbadać.

Advertisement

502 vs 500 vs 503 vs 504: czym się różnią?

Wszystkie kody 5xx oznaczają „problem z serwerem”, ale każdy wskazuje inną warstwę:

KodNazwaCo oznaczaTypowa przyczyna
500Internal Server ErrorSama aplikacja zawiodła podczas obsługi żądaniaBłąd w kodzie, fatal error PHP, zła konfiguracja
502Bad GatewayProxy dostało od upstreamu nieprawidłową odpowiedź albo żadnej, której mogłoby użyćAplikacja nie działa, padła, zły port lub gniazdo, za duże nagłówki
503Service UnavailableSerwer tymczasowo odrzuca żądaniaPrzeciążenie, tryb konserwacji, limity żądań
504Gateway TimeoutProxy czekało na upstream i zrezygnowałoWolne zapytanie do bazy, długo działający skrypt, za niski limit czasu

Prosta zasada: 502 = upstream dał złą odpowiedź (albo się rozłączył), 504 = upstream nie odpowiedział na czas. Sąsiednie błędy szczegółowo omawiają nasze poradniki: 500 Internal Server Error, 503 Service Unavailable i 504 Gateway Timeout.

Co powoduje błąd 502 Bad Gateway?

  • Aplikacja upstream nie działa. PHP-FPM, Node, Gunicorn lub kontener uległ awarii, nie wystartował po wdrożeniu albo właśnie się restartuje.

  • Proxy wskazuje złe miejsce. proxy_pass lub fastcgi_pass używa złego portu, starej ścieżki gniazda PHP po aktualizacji albo localhost wewnątrz kontenera Docker.

  • Aplikacja pada przy niektórych żądaniach. Jedna podstrona wywołuje zabicie procesu przez brak pamięci albo nieobsłużony wyjątek i połączenie zamyka się przed wysłaniem odpowiedzi.

  • Wszystkie procesy robocze są zajęte. PHP-FPM osiągnął limit pm.max_children, więc nowe żądania nie mają dokąd trafić.

  • Nagłówki odpowiedzi są za duże. Duże pliki cookie lub rozbudowane nagłówki bezpieczeństwa przepełniają proxy_buffer_size w nginx.

  • Niezgodność keep-alive za load balancerem. Aplikacja zamyka bezczynne połączenia wcześniej, niż oczekuje load balancer, więc balancer wysyła żądanie do połączenia, które właśnie się zamyka.

  • Zmiana zapory lub sieci między proxy a serwerem źródłowym. Na przykład CDN nie może już dotrzeć do serwera źródłowego, któremu zmienił się adres IP lub reguły zapory.

Advertisement

Jak naprawić błąd 502 jako odwiedzający

Nie naprawisz cudzego serwera, ale te kroki potwierdzą, że problem naprawdę leży po stronie witryny, i usuną rzadkie przyczyny lokalne:

  • Odczekaj 30–60 sekund i odśwież stronę (Ctrl + R, na Macu Cmd + R). Wiele błędów 502 trwa tylko tyle, ile wdrożenie lub restart.

  • Sprawdź, czy strona nie działa u wszystkich. Narzędzie HTTP Headers od DNS Robot pobiera stronę z naszych serwerów i pokazuje dokładny kod statusu. Jeśli my też dostajemy 502, problem leży po stronie witryny, nie u Ciebie. Test Ping pokaże, czy maszyna serwera w ogóle odpowiada.

  • Wymuś pełne odświeżenie i wyczyść pamięć podręczną. Ctrl + Shift + R (Mac: Cmd + Shift + R) pomija kopię z pamięci podręcznej na wypadek, gdyby wyświetlała Ci się nieaktualna strona błędu.

  • Wyczyść pamięć podręczną DNS, jeśli strona niedawno zmieniła hosting, aby trafić na nowy serwer. Tutaj znajdziesz instrukcję, jak wyczyścić DNS w każdym systemie.

  • Wyłącz VPN i proxy. To Twoje własne proxy może być zawodzącą „bramą”, zwłaszcza w sieciach firmowych.

  • Spróbuj innej przeglądarki albo telefonu na danych mobilnych. Jeśli tam działa, wyczyść pliki cookie tej strony.

Wskazówka

Jeśli błąd 502 pojawi się w trakcie składania zamówienia lub wysyłania formularza, nie wysyłaj go od razu ponownie. Pierwsze żądanie mogło zostać zrealizowane, mimo że odpowiedź nie dotarła. Najpierw sprawdź e-mail lub konto pod kątem potwierdzenia.

Jak naprawić błąd 502 Bad Gateway na swoim serwerze

Po stronie serwera 502 to jeden z łatwiejszych błędów do naprawienia, bo proxy prawie zawsze zapisuje dokładnie, co poszło nie tak. Przejdź po kolei przez te cztery kontrole.

Advertisement

1. Przeczytaj log błędów proxy

Wywołaj błąd 502 ponownie, a potem przeczytaj ostatnie linie logu błędów na serwerze proxy:

Komunikat w loguCo oznacza
connect() failed (111: Connection refused) while connecting to upstreamNic nie nasłuchuje na porcie upstreamu: aplikacja nie działa albo działa na innym porcie
connect() to unix:/run/php/php8.x-fpm.sock failed (2: No such file or directory)Gniazdo PHP-FPM nie istnieje, zwykle po zmianie wersji PHP
connect() to unix:… failed (13: Permission denied)nginx nie ma dostępu do gniazda: popraw listen.owner / listen.group
upstream prematurely closed connection while reading response headerAplikacja padła lub zamknęła połączenie w trakcie żądania
upstream sent too big header while reading response header from upstreamNagłówki odpowiedzi są większe niż proxy_buffer_size
no live upstreams while connecting to upstreamKażdy serwer w bloku upstream jest oznaczony jako niedziałający
bash
# nginx
sudo tail -n 50 /var/log/nginx/error.log

# Apache
sudo tail -n 50 /var/log/apache2/error.log    # Debian/Ubuntu
sudo tail -n 50 /var/log/httpd/error_log      # RHEL/Alma/Rocky

Te komunikaty nginx obejmują zdecydowaną większość błędów 502, a każdy z nich wskazuje rozwiązanie:

2. Sprawdź, czy aplikacja upstream działa

bash
# PHP-FPM (dostosuj wersję)
sudo systemctl status php8.3-fpm
sudo journalctl -u php8.3-fpm -n 50

# Node.js pod PM2
pm2 status
pm2 logs --lines 50

# Docker
docker ps -a          # look for containers that keep restarting
docker logs --tail 50 <container>

# Czy proces został zabity za zużycie zbyt dużej ilości pamięci?
dmesg -T | grep -i "killed process"

Jeśli usługa jest zatrzymana, uruchom ją i ustal, dlaczego stanęła: nieudane wdrożenie, błąd składni w nowym wydaniu albo OOM killer, który zabija procesy przy braku pamięci. W logu PHP-FPM komunikat server reached pm.max_children setting oznacza, że wszystkie procesy robocze były zajęte. Zwiększaj pm.max_children tylko wtedy, gdy serwer ma na to RAM; w przeciwnym razie znajdź wolne żądania, które blokują procesy.

3. Upewnij się, że proxy_pass wskazuje właściwy port lub gniazdo

Porównaj to, z czym nginx ma się łączyć, z tym, co faktycznie nasłuchuje:

bash
# Do czego nginx przekazuje żądania?
grep -rn "proxy_pass\|fastcgi_pass" /etc/nginx/sites-enabled/

# Co faktycznie nasłuchuje?
sudo ss -tlnp            # TCP ports and their processes
ls -l /run/php/          # PHP-FPM socket files

Ostrzeżenie

Zawsze uruchamiaj nginx -t przed przeładowaniem. Literówka w konfiguracji nie naprawi błędu 502. Sprawi, że nginx w ogóle się nie przeładuje, a przy restarcie może położyć całą stronę.

Dwie klasyczne niezgodności: po aktualizacji PHP gniazdo nazywa się php8.3-fpm.sock, a nginx nadal wskazuje php8.1-fpm.sock; a wewnątrz Dockera proxy_pass http://localhost:3000 wskazuje sam kontener nginx zamiast aplikacji, więc użyj nazwy usługi z Compose (http://app:3000). Po każdej zmianie uruchom sudo nginx -t i sudo systemctl reload nginx.

4. Prawdziwy przykład: jak dnsrobot.net zwrócił błąd 502

Przydarzyło się to nam 30 września 2026. Po opublikowaniu serii nowych wpisów na blogu dokładnie jeden z nich zwracał 502 Bad Gateway przez nginx 1.24, podczas gdy każda inna strona działała. Aplikacja Next.js stojąca za nginx zwracała tę samą stronę ze statusem 200 OK, gdy odpytaliśmy ją bezpośrednio na porcie 3000. Aplikacja była więc w porządku, a zawodziła brama.

Log błędów nginx podawał odpowiedź w jednej linii: upstream sent too big header while reading response header from upstream. Nagłówki odpowiedzi tej strony miały 4087 bajtów, głównie przez długi nagłówek Content-Security-Policy i nagłówki Link do preloadu. nginx wczytuje pierwszą część odpowiedzi, łącznie ze wszystkimi nagłówkami, do bufora o rozmiarze proxy_buffer_size, który domyślnie wynosi jedną stronę pamięci: 4 KB na naszym serwerze. Zostawało więc tylko 9 bajtów zapasu, a pełny blok nagłówków, razem z linią statusu, go przepełnił.

Rozwiązaniem okazały się trzy linie w bloku location, który przekazuje żądania do aplikacji:

nginx
location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_buffer_size 16k;        # room for large headers (was the 4k default)
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k;
}

Wskazówka

Duże pliki cookie powodują ten sam błąd 502 na stronach z sesjami logowania lub wieloma skryptami śledzącymi. Jeśli 502 dotyczy tylko zalogowanych użytkowników, sprawdź rozmiar nagłówków Set-Cookie. Narzędzie HTTP Headers pokazuje każdy nagłówek wysyłany przez stronę.

Po nginx -t i przeładowaniu strona zwróciła 200. Wniosek: jeśli tylko niektóre strony zwracają 502, a reszta witryny działa, zanim zaczniesz podejrzewać aplikację, poszukaj limitu rozmiaru, na przykład dużych nagłówków lub dużych plików cookie na tych stronach.

Node.js za load balancerem: losowe błędy 502

Jeśli uruchamiasz Node.js za AWS Application Load Balancer lub podobnym balancerem i widzisz sporadyczne błędy 502 bez żadnych błędów w logach aplikacji, sprawdź limity czasu keep-alive. Serwer HTTP w Node domyślnie zamyka bezczynne połączenia keep-alive po 5 sekundach (server.keepAliveTimeout, w Node.js 26 i wcześniejszych), a AWS ALB utrzymuje bezczynne połączenia otwarte przez 60 sekund. Czasem balancer ponownie używa połączenia dokładnie w chwili, gdy Node je zamyka, i to żądanie wraca jako 502.

Rozwiązanie polega na ustawieniu w aplikacji dłuższego limitu niż w balancerze:

javascript
const server = app.listen(3000)
// Musi być dłuższy niż limit bezczynności load balancera (domyślnie w ALB: 60 s)
server.keepAliveTimeout = 65_000
server.headersTimeout = 66_000 // keep slightly above keepAliveTimeout

502 Bad Gateway na Cloudflare

Za Cloudflare najpierw sprawdź, kto wygenerował stronę błędu:

  • Strona z logo Cloudflare (Browser ✓ / Cloudflare ✓ / Host ✗): Cloudflare działa, ale nie dostał prawidłowej odpowiedzi od Twojego serwera źródłowego. Sprawdź, czy serwer źródłowy działa, nasłuchuje na portach 443/80 i nie blokuje w zaporze zakresów IP Cloudflare. Przetestuj serwer źródłowy bezpośrednio w Port Checkerze.

  • Zwykła strona 502 bez logo: jeśli nie wspomina o cloudflare (na przykład podaje nginx lub Apache), błąd 502 wygenerował Twój własny serwer źródłowy. Skorzystaj z kroków dla serwera opisanych wyżej. Pusta strona z samym napisem „cloudflare” na dole pochodzi od samego Cloudflare, na przykład podczas krótkiego przekierowywania ruchu albo gdy serwer źródłowy wysyła uszkodzoną treść gzip.

  • Zmienił się adres IP serwera źródłowego? Jeśli przeniosłeś hosting, zaktualizuj rekord A w DNS Cloudflare. DNS Lookup pokaże, co aktualnie widzi reszta świata.

Uwaga

Cloudflare ma własne kody 52x dla bardziej konkretnych problemów z serwerem źródłowym: 520 (nieznany błąd), 521 (serwer WWW nie działa), 522 (przekroczony czas połączenia), 523 (serwer źródłowy nieosiągalny), 524 (przekroczony czas po nawiązaniu połączenia), 525 (nieudane uzgadnianie SSL) i 526 (nieprawidłowy certyfikat SSL). Jeśli zamiast 502 widzisz jeden z nich, sam numer zawęża już przyczynę.

Advertisement

Czy błąd 502 szkodzi SEO?

Krótka awaria nie szkodzi. Według dokumentacji Google błędy serwera 5xx sprawiają, że roboty Google tymczasowo spowalniają indeksowanie. Strony, które już są w indeksie, początkowo w nim zostają, ale jeśli błędy się utrzymują, Google w końcu usuwa te adresy URL.

Błąd 502 trwający kilka minut podczas wdrożenia jest więc nieszkodliwy. Błąd 502 na ważnych stronach, który trwa dniami albo pojawia się sporadycznie przez tygodnie, może ograniczyć indeksowanie i kosztować pozycje. Monitoruj kluczowe adresy URL i po każdej awarii sprawdź raport Statystyki indeksowania w Search Console.

Czy strona zwraca 502 wszystkim?

HTTP Headers Checker od DNS Robot pobiera dowolny adres URL z naszych serwerów i pokazuje dokładny kod statusu, oprogramowanie serwera i każdy nagłówek odpowiedzi. To najszybszy sposób, by potwierdzić błąd 502.

Wypróbuj HTTP Headers Checker

Advertisement

Często zadawane pytania

Oznacza, że serwer, do którego dotarłeś, jest bramą lub proxy, na przykład nginx, Cloudflare lub load balancerem, i dostał nieprawidłową odpowiedź od serwera aplikacji, który stoi za nim. Proxy działa; aplikacja za nim nie działa, uległa awarii, jest nieosiągalna albo wysłała odpowiedź, której proxy nie mogło użyć.

Powiązane narzędzia

HTTP Headers CheckPing ToolPort CheckerDNS Lookup

Powiązane artykuły

504 Gateway Timeout: Co oznacza i jak naprawicBłąd HTTP 503 Service Unavailable: Przyczyny i sposoby naprawyBłąd HTTP 500 Internal Server Error: Przyczyny i sposoby naprawy

Spis treści

  • Czym jest błąd 502 Bad Gateway?
  • Różne oblicza błędu 502
  • 502 vs 500 vs 503 vs 504: czym się różnią?
  • Co powoduje błąd 502 Bad Gateway?
  • Jak naprawić błąd 502 jako odwiedzający
  • Jak naprawić błąd 502 Bad Gateway na swoim serwerze
  • 1. Przeczytaj log błędów proxy
  • 2. Sprawdź, czy aplikacja upstream działa
  • 3. Upewnij się, że proxy_pass wskazuje właściwy port lub gniazdo
  • 4. Prawdziwy przykład: jak dnsrobot.net zwrócił błąd 502
  • Node.js za load balancerem: losowe błędy 502
  • 502 Bad Gateway na Cloudflare
  • Czy błąd 502 szkodzi SEO?
  • Często zadawane pytania