ERR_SOCKS_CONNECTION_FAILED: proxy SOCKS nie nawiązało połączenia
Chrome dotarł do proxy SOCKS, ale uzgadnianie połączenia się nie udało. W zwykłym Chrome najczęstszą przyczyną jest SOCKS5 z loginem i hasłem, których przeglądarka nie obsługuje.
Zaktualizowano · Redakcja Prokso
- ERR_SOCKS_CONNECTION_FAILED oznacza, że uzgadnianie z proxy SOCKS się nie udało
- W Chrome najczęstszą przyczyną jest SOCKS5 z loginem i hasłem, których przeglądarka nie obsługuje, lub typ niepasujący do portu
- Dla SOCKS5 w Chrome włącz dostęp po IP, a do logowania loginem bierz port HTTP 823
Co oznacza błąd
W net_error_list.h Chromium kod -120 ERR_SOCKS_CONNECTION_FAILED oznacza, że nie udało się nawiązać połączenia z serwerem proxy SOCKS dla hosta docelowego. Kod -121 ERR_SOCKS_CONNECTION_HOST_UNREACHABLE – serwer proxy SOCKS nie połączył się z hostem docelowym, bo ten jest nieosiągalny.
Kod źródłowy Chromium pokazuje, kiedy dokładnie pojawia się -120 dla SOCKS5. Przeglądarka w powitaniu proponuje tylko tryb bez uwierzytelniania, a jeśli serwer wymaga innego sposobu, na przykład loginu i hasła, połączenie kończy się tym błędem. -120 pojawia się też, gdy serwer zamknął połączenie w trakcie uzgadniania, odpowiedział niezgodnie z protokołem SOCKS5 lub zwrócił dowolny kod błędu, a także gdy nazwa strony jest dłuższa niż 255 znaków.
W obecnym kodzie Chromium kod -121 zwraca tylko klient SOCKS4. Jeśli widzisz właśnie go, przeglądarka rozmawia z proxy protokołem SOCKS4, choć port 824 Prokso działa na SOCKS5. A jeśli nie udało się nawet otworzyć połączenia TCP z proxy, Chrome pokaże nie błąd SOCKS, tylko ERR_PROXY_CONNECTION_FAILED.
Przyczyny
- SOCKS5 z loginem i hasłem w Chrome. Dokumentacja Chromium mówi wprost, że dla SOCKSv5 Chrome nie obsługuje żadnych metod uwierzytelniania. Brama prosi o login, przeglądarka go nie proponuje i uzgadnianie się zatrzymuje.
- Typ proxy nie pasuje do portu. W ustawieniach wybrano SOCKS5, a port 823 to HTTP. Brama nie odpowiada protokołem SOCKS5 i Chrome kończy połączenie błędem -120.
- Wpis socks= bez schematu. Według dokumentacji Chromium w regule
socks=gw.prokso.com:824bez schematu proxy jest traktowane jako SOCKS4. Stąd -121 tam, gdzie miał działać SOCKS5. - Błąd po stronie bramy lub strony. Jeśli proxy nie połączyło się ze stroną, zwraca kod błędu SOCKS5, a Chrome pokazuje -120. Więcej na stronach general SOCKS server failure i connection refused.
- Zły typ w profilu przeglądarki antydetect. Profil ma własne pola typu, hosta, portu, loginu i hasła. Jeśli SOCKS5 ustawiono na porcie HTTP lub odwrotnie, uzgadnianie nie uda się tak samo.
Jak to naprawić
- Sprawdź parę typ i port: SOCKS5 – port 824 (nowy IP na każde żądanie), HTTP – port 823, a porty stałego IP 10000–20000 przyjmują oba protokoły. Opis – na stronie bramy.
- W zwykłym Chrome dla SOCKS5 włącz dostęp po IP w panelu klienta (do 5 adresów): login nie jest wtedy potrzebny i uzgadnianie bez uwierzytelniania przejdzie.
- Jeśli potrzebujesz logowania loginem i hasłem, w Chrome używaj proxy HTTP: dla proxy HTTP Chromium obsługuje schematy Basic, Digest, Negotiate i NTLM.
- W linii
--proxy-serverpodawaj schemat jawnie:socks5://gw.prokso.com:824, a niesocks=gw.prokso.com:824. - Sprawdź dostęp SOCKS5 poza przeglądarką:
curl -x socks5h://LOGIN:HASŁO@gw.prokso.com:824 https://prokso.com/ip. Błąd curl (97) z tekstem „User was rejected by the SOCKS5 server” oznacza zły login lub hasło. Więcej przykładów – w instrukcji curl.
Jak sprawdzić, czy działa
Otwórz w przeglądarce stronę sprawdzania IP: powinien tam być adres proxy i wybrany kraj. Jeśli zamiast błędu SOCKS pojawił się ERR_PROXY_CONNECTION_FAILED, przeglądarka nie może połączyć się z samą bramą: sprawdź host, port i sieć.
Diagnoza w 2 minuty
Najpierw wklej linię do sprawdzania proxy. Jeśli tam proxy działa, przyczyna leży w programie lub jego ustawieniach. Jeśli nie - sprawdź linię z terminala:
curl -v -x "http://LOGIN:HASŁO@gw.prokso.com:823" https://api.ipify.org
- Wiersz
< HTTP/1.1 407zaraz poCONNECToznacza, że odpowiada proxy. Nazwa po kodzie, na przykładNO_USER, wskazuje przyczynę. - Proxy odpowiedziało na
CONNECTkodem 200, a potem przyszedł inny kod - proxy działa, tę odpowiedź dała strona. - Brak odpowiedzi, tylko przekroczony czas - połączenie nie dotarło do proxy: sprawdź host, port i sieć.
Instrukcje, w których pojawia się ten błąd
Pytania i odpowiedzi (FAQ)
Dlaczego SOCKS5 działa w curl i Pythonie, a w Chrome nie?
curl i biblioteki Pythona potrafią przekazać login i hasło SOCKS5. Chrome nie: według dokumentacji Chromium nie obsługuje dla SOCKSv5 żadnych metod uwierzytelniania. Czym jest SOCKS5 – w <a href="/pl/glossary/socks5">słowniczku</a>.
Ile Chrome czeka na uzgodnienie SOCKS?
W kodzie źródłowym Chromium limit czasu uzgadniania SOCKS wynosi 30 sekund od chwili, gdy połączenie z proxy jest już otwarte. Jeśli proxy nie odpowiada dłużej, próba jest przerywana.
Co robić, jeśli błąd jest tylko na jednej stronie?
Wtedy połączenie z proxy działa, a nie udaje się połączenie ze stroną, i brama zwraca kod błędu SOCKS5. Powtórz żądanie: na porcie 824 pójdzie przez nowy IP. Jeśli strona nie działa także bez proxy, przyczyna leży po jej stronie.
Inne błędy proxy
Rezydencjalne $1.59, mobilne $2.50, serwerowe $0.65 za 1 GB
Rejestracja w minutę, dostęp od razu po płatności.