# Błąd SSL CERTIFICATE_VERIFY_FAILED przez proxy

> Błąd SSL CERTIFICATE_VERIFY_FAILED podczas scrapowania przez proxy: stare pakiety CA, antywirus z inspekcją lub zapora biurowa, błędy zegara. Tylko bezpieczne rozwiązania.

- URL: https://crawlrelay.com/pl/docs/errors/ssl-certificate-verify-failed/
- Ostatnia aktualizacja: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Błąd certyfikatu TLS po stronie klienta: dokładny komunikat w każdym narzędziu, możliwe przyczyny w kolejności oraz działające rozwiązanie.

**Szybka odpowiedź — Co oznacza SSL: CERTIFICATE_VERIFY_FAILED w kontekście proxy?**

**CERTIFICATE_VERIFY_FAILED** oznacza, że Twój klient nie mógł zweryfikować certyfikatu TLS witryny. Przez proxy CONNECT, jak brama CrawlRelay, TLS działa end-to-end, więc proxy nie jest tego przyczyną. Sprawdź u siebie: przestarzały pakiet CA, antywirus lub zaporę biurową inspekcyjną HTTPS albo zły zegar systemowy. Nigdy nie naprawiaj tego verify=False w produkcji.

## SSL: CERTIFICATE_VERIFY_FAILED w skrócie

| Atrybut | Wartość |
| --- | --- |
| Błąd | SSL: CERTIFICATE_VERIFY_FAILED |
| Typ | Błąd certyfikatu TLS po stronie klienta |
| Wysłane przez | Twoja biblioteka TLS, gdy nie może zweryfikować certyfikatu strony |
| Zdefiniowano w | X.509 path validation: RFC 5280; TLS 1.3: RFC 8446 |
| Spróbować ponownie? | Nie. Napraw magazyn zaufania lub sieć |
| Najpierw sprawdź | Przetestuj ten sam URL bez proxy na tym samym urządzeniu |

## Co oznacza SSL: CERTIFICATE_VERIFY_FAILED?

Podczas negocjacji TLS witryna przesyła łańcuch certyfikatów. Twój klient sprawdza go względem listy zaufanych urzędów, magazynu zaufania, oraz weryfikuje nazwy i daty. Jeśli którykolwiek test zawiedzie, połączenie jest przerywane.

Przy tunelu CONNECT proxy tylko przekazuje negocjację bez zmian, więc widoczny certyfikat jest własnością witryny. Zwykłe przyczyny to oprogramowanie inspekcyjne wstrzykujące własny certyfikat lub przestarzały magazyn zaufania na Twoim urządzeniu.

## Jak wygląda CERTIFICATE_VERIFY_FAILED w Python, curl, Node.js i przeglądarkach?

Ten sam błąd wyświetla się inaczej w każdym narzędziu. Oto komunikaty, które warto wyszukać w logach:

- **Python:** `[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate`
- **Node.js:** `UNABLE_TO_GET_ISSUER_CERT_LOCALLY` lub `SELF_SIGNED_CERT_IN_CHAIN`
- **curl:** `curl: (60) SSL certificate problem: unable to get local issuer certificate`
- **Przeglądarki:** `NET::ERR_CERT_AUTHORITY_INVALID`

## Co powoduje CERTIFICATE_VERIFY_FAILED?

Najczęściej na początku:

- **Przestarzały pakiet CA**, na przykład stary pakiet `certifi` w Pythonie.
- **Inspekcja HTTPS** przez antywirusa, zaporę firmową lub proxy debugujące, które prezentuje własny certyfikat.
- **Zły zegar systemowy**, który sprawia, że ważne certyfikaty wyglądają na wygasłe lub jeszcze nieważne.
- **Strona z uszkodzonym łańcuchem certyfikatów**, brak certyfikatu pośredniego.
- **Obraz kontenera** bez pakietu certyfikatów systemowych CA.

## Jak krok po kroku zdiagnozować CERTIFICATE_VERIFY_FAILED?

1. Wykonaj to samo zapytanie bez proxy. Jeśli również się nie uda, to proxy nie jest przyczyną.
2. Wyświetl wystawcę certyfikatu poleceniem `openssl s_client` lub curl `-v`: wystawca nazwany po Twoim antywirusie lub zaporze wskazuje na inspekcję.
3. Sprawdź datę i godzinę systemu.
4. Zaktualizuj pakiet CA i przetestuj ponownie.

*Przetestuj nie działający URL za pomocą curl (port HTTP, tryb verbose)*

```bash
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL
```

## Jak naprawić CERTIFICATE_VERIFY_FAILED?

- **Zaktualizuj `certifi`** (`pip install -U certifi`) lub systemowy pakiet CA.
- **Dodaj certyfikat inspekcji swojej firmy** do magazynu zaufania, jeśli w sieci jest inspekcja, albo wykonuj scraping poza tą siecią.
- **Napraw zegar** synchronizacją czasu sieciowego.
- **Zainstaluj certyfikaty CA** w lekkich obrazach kontenerów, np. pakiet `ca-certificates`.
- **Nie wyłączaj weryfikacji** w kodzie, który wysyła dane uwierzytelniające lub pobiera dane, na których polegasz.

## Czy warto ponawiać próbę po CERTIFICATE_VERIFY_FAILED?

Nie próbuj ponownie: ten sam magazyn zaufania zawiedzie tak samo. Napraw magazyn zaufania, zegar lub ścieżkę sieciową i uruchom ponownie.

## Jak SSL: CERTIFICATE_VERIFY_FAILED odnosi się do CrawlRelay?

Port HTTP CrawlRelay tuneluje HTTPS za pomocą `CONNECT`, więc certyfikat weryfikowany przez klienta to ten przesłany przez stronę. Jeśli błąd występuje tylko przez bramę a nie poza nią, skontaktuj się z supportem podając nazwę hosta celu i pełny błąd, byśmy mogli sprawdzić po stronie wyjścia.

Gateway: `gw.crawlrelay.com`, port 7777 (HTTP, HTTPS przez CONNECT) i port 7778 (SOCKS5). Format nazwy użytkownika: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Powiązane: [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/pl/docs/errors/ssl-wrong-version-number/) · [Connection reset](https://crawlrelay.com/pl/docs/errors/connection-reset/) · [Python poradnik](https://crawlrelay.com/pl/docs/python/).

## SSL: CERTIFICATE_VERIFY_FAILED: pytania, które zadają deweloperzy

### Czy proxy może powodować błędy certyfikatów SSL?

Proxy inspekcyjne może, ponieważ pokazuje własny certyfikat. Proxy CONNECT nie może, bo tylko przesyła zaszyfrowane bajty i nigdy nie widzi zawartości negocjacji. Uruchom zapytanie bez proxy: jeśli błąd pozostaje, przyczyna jest u Ciebie lub w sieci.

### Czy verify=False jest bezpieczne przy scrapowaniu?

Nie jako naprawa. To ukrywa inspekcję i błędy łańcuchów, a atakujący na drodze mógłby wtedy czytać lub zmieniać ruch, w tym tokeny i pliki cookie. Używaj tylko do szybkich lokalnych testów i nigdy w zadaniach działających bez nadzoru lub wysyłających dane uwierzytelniające.

### Dlaczego to nie działa w Dockerze, a działa na laptopie?

Lekkie obrazy kontenerów często są bez pakietów certyfikatów CA, więc nie da się zweryfikować żadnego certyfikatu. Zainstaluj pakiet systemowy CA w obrazie lub polegaj na pakiecie certifi w Pythonie. Sprawdź też poprawność zegara w kontenerze.

## Inne błędy proxy w tym odniesieniu

- [401 Unauthorized vs 407](https://crawlrelay.com/pl/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/pl/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/pl/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/pl/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/pl/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/pl/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/pl/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/pl/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/pl/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/pl/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/pl/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/pl/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/pl/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/pl/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/pl/docs/errors/ssl-wrong-version-number/)

**Proxy rezydencjalne z dokumentacją opisującą przypadki błędów** CrawlRelay proxy rezydencjalne od 0,50 USD/GB, ruch, który nigdy nie wygasa. [Zobacz ceny](https://crawlrelay.com/pl/pricing/) · [Szybki start](https://crawlrelay.com/pl/docs/)

---

CrawlRelay: CrawlRelay to serwis proxy rezydencjalne i mobilne proxy 4G/5G z rotacją, stworzony dla programistów i potoków danych AI: ruch bez wygasania w modelu pay-as-you-go od 0,50 USD/GB, płatny w kryptowalutach, bez konieczności przesyłania dokumentów. Bez KYC — brak dowodu, selfie i dokumentów. Płać w kryptowalutach.
