Błędy SSL i certyfikatów przez proxy
Bezpieczne połączenie ze stroną nie zostało nawiązane: certyfikat nie przeszedł weryfikacji albo strony połączenia nie uzgodniły szyfrowania.
Zaktualizowano · Redakcja Prokso
- Bezpieczne połączenie nie powstało: certyfikat wysyła strona, a proxy tylko przekazuje dane
- Najczęściej urządzenie ma złą datę i godzinę albo HTTPS przechwytuje antywirus
- Włącz automatyczną datę i godzinę i sprawdź, czy linia proxy zaczyna się od http://
Co oznacza błąd
Gdy otwierasz stronę HTTPS przez proxy HTTP, program prosi proxy o otwarcie tunelu metodą CONNECT (RFC 9110). Dalej proxy tylko przekazuje bajty, a szyfrowane połączenie nawiązuje się między Twoim programem a stroną. Certyfikat, który widzisz, wysłała strona.
Dlatego błędy certyfikatu przez proxy mają te same przyczyny co bez niego: zegar na urządzeniu, programy przechwytujące HTTPS, ustawienia samej strony. Osobną grupą są błędy, gdy program próbuje mówić TLS z proxy tam, gdzie ono oczekuje zwykłego HTTP.
Błąd handshake failure to sygnał protokołu TLS (RFC 8446): strona połączenia nie zdołała uzgodnić akceptowalnego zestawu parametrów bezpieczeństwa. Najczęściej przyczyną jest przestarzała wersja TLS lub biblioteki.
Przyczyny
- Nieprawidłowa data i godzina na urządzeniu. Chrome pokazuje ERR_CERT_DATE_INVALID: certyfikat wydaje się wygasły lub jeszcze nieważny.
- HTTPS przechwytuje antywirus lub sieć firmowa. Podstawiają własny certyfikat; jeśli nie jest zaufany – ERR_CERT_AUTHORITY_INVALID.
- Schemat https:// w linii proxy. Program próbuje nawiązać TLS z samym proxy na porcie, na którym oczekuje ono HTTP, i dostaje ERR_SSL_PROTOCOL_ERROR lub „wrong version number”.
- Przestarzały program lub biblioteka. Nie obsługuje wersji TLS i szyfrów, których wymaga strona: ERR_SSL_VERSION_OR_CIPHER_MISMATCH lub handshake failure.
- Problem z certyfikatem samej strony. Certyfikat wygasł lub wydano go dla innej domeny – ERR_CERT_COMMON_NAME_INVALID.
Jak to naprawić
- Włącz automatyczne ustawianie daty i godziny na urządzeniu.
- Sprawdź linię proxy: dla portu 823 powinna zaczynać się od
http://, jak w instrukcji Python requests. Sama strona może przy tym działać na https://. - Tymczasowo wyłącz skanowanie HTTPS w antywirusie lub spróbuj innej sieci, aby wykluczyć przechwytywanie.
- Zaktualizuj przeglądarkę, program lub bibliotekę, przez którą pracujesz.
- Nie wyłączaj weryfikacji certyfikatów w programie: usuwasz w ten sposób ochronę przed podmianą, a przyczyny nie eliminujesz.
- Otwórz stronę bez proxy: jeśli błąd jest ten sam, problem leży w certyfikacie strony.
Jak sprawdzić, czy działa
Przez to samo proxy otwórz dowolną znaną stronę HTTPS oraz stronę „Mój IP”. Jeśli otwierają się bez ostrzeżeń, połączenie przez proxy jest w porządku, a błąd zwraca konkretna strona lub program.
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)
Czy proxy widzi zawartość stron HTTPS?
Nie. W tunelu CONNECT szyfrowanie jest nawiązywane między Twoim programem a stroną, a proxy przekazuje już zaszyfrowane dane. Co przechowujemy, opisano w polityce: nie przechowujemy treści ani adresów stron, ani haseł; do rozpatrywania skarg przechowujemy tylko domeny, czas i objętość – przez 90 dni.
Dlaczego błąd jest tylko w programie, a przeglądarka otwiera stronę?
Program może mieć własny magazyn certyfikatów lub starą bibliotekę TLS. Zaktualizuj go i sprawdź, czy schemat proxy jest podany prawidłowo.
Czy można po prostu wyłączyć weryfikację certyfikatu?
Technicznie tak, ale nie warto: program nie zauważy wtedy podmiany certyfikatu. Lepiej znaleźć i usunąć przyczynę.
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.