Błędy proxy 502 Bad Gateway: dowiedz się, kto je zwrócił
Updated:
502 Bad Gateway oznacza, że serwer pośredniczący – którym może być Twoje proxy lub serwer frontendowy samej witryny – przekazał żądanie dalej i nie otrzymał prawidłowej odpowiedzi. Ten sam kod błędu, lecz dwa zupełnie różne źródła problemu, dlatego przed naprawą warto ustalić, kto dokładnie zwraca 502.
Jak wygląda błąd 502 z serwera proxy
Skonfigurowaliśmy nasze testowe proxy tak, aby zwracało 502, i zarejestrowaliśmy odpowiedzi z danymi 203.0.113.10:8080 oraz user123:pass456:
- Strona HTTPS: polecenie
curl -x http://user123:[email protected]:8080 https://example.comwyświetlacurl: (56) CONNECT tunnel failed, response 502. - Zwykła strona HTTP: curl odbiera status
502. - Chrome ładujący stronę HTTPS przez to proxy zgłasza błąd
ERR_TUNNEL_CONNECTION_FAILEDi w ogóle nie pokazuje strony błędu 502. - Narzędzie proxy checker pokazuje
HTTP 502; inne kody wyświetlają się w ten sam sposób jakoHTTP <code>.
Wskazówka: strona błędu 502 w witrynie HTTPS
W przypadku witryn HTTPS proxy jedynie otwiera tunel; nie może wstrzyknąć własnej strony do szyfrowanego połączenia. Jeśli proxy odrzuci połączenie, Chrome zgłasza ERR_TUNNEL_CONNECTION_FAILED. Gdy więc widzisz pełną stronę "502 Bad Gateway" wyrenderowaną pod adresem https://, niemal na pewno pochodzi ona z serwera samej witryny, a nie z proxy.
Potwierdź to, wyłączając proxy i wczytując tę samą stronę. Jeśli błąd 502 nadal występuje, witryna ma problemy techniczne i pozostaje jedynie poczekać lub powiadomić jej właściciela.
Kiedy to proxy rzeczywiście wysyła 502
- Serwer docelowy nie odpowiada serwerowi proxy. Strona nie działa, jest przeciążona lub odrzuca połączenia z zakresu adresów IP proxy.
- Błędnie wpisana lub nierozpoznawalna domena. Proxy nie może ustalić adresu strony, więc nie ma dokąd przekazać żądania.
- Port docelowy jest zamknięty. Żądanie jest kierowane na port, którego strona nie obsługuje.
- Tymczasowa awaria po stronie proxy. Rzadsza sytuacja; można ją rozpoznać po tym, że każda strona zwraca 502 przez dane proxy, ale działa poprawnie przez inne.
Co zrobić w poszczególnych środowiskach
- Chrome lub profile antidetect: otwórz inny popularny serwis w tym samym profilu. Jeśli się załaduje, proxy działa prawidłowo, a problem leży po stronie pierwotnej witryny.
- Telefony: wyłącz proxy w Wi-Fi i spróbuj otworzyć stronę przez sieć komórkową, aby sprawdzić, czy nie działa ona dla wszystkich.
- curl: dodaj parametr
-v, aby zobaczyć kod 502 pojawiający się tuż poCONNECT, a następnie powtórz test z inną domeną, by zawęzić źródło błędu. - Python requests: w przypadku stron HTTP sprawdź warunek
response.status_code == 502i ponów próbę po krótkiej przerwie; dla stron HTTPS nieudane tunelowanie zgłasza wyjątekrequests.exceptions.ProxyError. Ponawiaj próby w odstępach czasu, zamiast nadmiernie obciążać stronę.
Krok po kroku
- 1
Zwróć uwagę, gdzie pojawia się 502
Strona błędu 502 pod adresem https wskazuje na witrynę. Błąd tunelu w Chrome wskazuje na trasę przez proxy.
- 2
Wyłącz proxy i odśwież stronę
Wystąpienie błędu 502 bez aktywnego proxy oznacza, że problem leży po stronie samej witryny.
- 3
Wczytaj inną stronę przez to samo proxy
Jeśli inne witryny działają, proxy jest sprawne, a błąd wynika z odrzucenia połączenia lub awarii pierwotnego serwisu.
- 4
Przetestuj proxy za pomocą checkera
Wklej dane do proxy checker. Jeśli każda witryna zwraca
HTTP 502, zgłoś ticket z otrzymanym wynikiem.
Często zadawane pytania
Czy błąd 502 oznacza, że moje proxy wygasło?
Zazwyczaj nie. Wygasłe lub zatrzymane proxy generuje przeważnie błąd połączenia lub przekroczenie limitu czasu; zobacz proxy timeout.
Dlaczego tylko jedna strona zwraca 502 przez proxy?
Może ona ulec awarii lub nie odpowiadać na połączenia z danego adresu IP proxy. Spróbuj ponownie później lub skorzystaj z IP z innego kraju.
Czym różni się błąd 502 od 504?
Kod 502 oznacza nieprawidłową odpowiedź lub brak możliwości jej uzyskania; 504 oznacza, że serwer pośredniczący zbyt długo czekał na odpowiedź. Checker wyświetla oba jako HTTP <code>.
Mój scraper sporadycznie otrzymuje kody 502. Czy wymienić proxy?
Pojedyncze błędy 502 oznaczają zazwyczaj przeciążenie serwera docelowego. Zmniejsz częstotliwość zapytań i dodaj ponawianie prób z opóźnieniem przed zmianą proxy; zobacz proxies for web scraping.
Prywatne adresy IP, bez współdzielenia
Prywatne serwery proxy VinaProxy pomagają uniknąć blokady IP wynikającej z działań innych użytkowników.
Zobacz cennik