# SSL CERTIFICATE_VERIFY_FAILED tramite un proxy

> SSL CERTIFICATE_VERIFY_FAILED durante lo scraping tramite un proxy: bundle CA obsoleti, antivirus o firewall aziendali che intercettano, errori di orologio. Solo correzioni sicure.

- URL: https://crawlrelay.com/it/docs/errors/ssl-certificate-verify-failed/
- Ultimo aggiornamento: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Errore certificato TLS nel client: il messaggio esatto in ogni strumento, le cause probabili in ordine e la soluzione che funziona.

**Risposta rapida — Cosa significa SSL: CERTIFICATE_VERIFY_FAILED con un proxy?**

**CERTIFICATE_VERIFY_FAILED** significa che il tuo client non è riuscito a convalidare il certificato TLS del sito web. Attraverso un proxy CONNECT come il gateway CrawlRelay, TLS avviene end-to-end, quindi il proxy non ne è la causa. Controlla da parte tua: un bundle CA obsoleto, antivirus o firewall aziendale che ispezioni HTTPS, o un orologio di sistema errato. Mai risolvere con verify=False in produzione.

## SSL: CERTIFICATE_VERIFY_FAILED a colpo d'occhio

| Attributo | Valore |
| --- | --- |
| Errore | SSL: CERTIFICATE_VERIFY_FAILED |
| Tipo | Errore certificato TLS nel client |
| Inviato da | La tua libreria TLS, quando non riesce a convalidare il certificato del sito web |
| Definito in | X.509 path validation: RFC 5280; TLS 1.3: RFC 8446 |
| Riprovarlo? | No. Sistema il trust store o la rete |
| Prima verifica | Testa la stessa URL senza il proxy sulla stessa macchina |

## Cosa significa SSL: CERTIFICATE_VERIFY_FAILED?

Durante la stretta di mano TLS, il sito invia una catena di certificati. Il tuo client la verifica contro una lista di autorità di fiducia, il trust store, e controlla nomi e date. Se qualche controllo fallisce, si ferma.

Con un tunnel CONNECT, il proxy passa la stretta di mano intatta, quindi il certificato che vedi è quello reale del sito. Qualcosa che inserisce il proprio certificato, come software di ispezione, o un trust store obsoleto sulla tua macchina, è la causa più comune.

## Com'è CERTIFICATE_VERIFY_FAILED in Python, curl, Node.js e browser?

Lo stesso errore si presenta in modo diverso in ogni strumento. Questi sono i messaggi da cercare nei log:

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

## Cosa causa CERTIFICATE_VERIFY_FAILED?

Probabilmente prima:

- **Un bundle CA obsoleto**, ad esempio un vecchio pacchetto `certifi` in Python.
- **Ispezione HTTPS** da parte di antivirus, firewall aziendale o proxy di debug, che presenta il proprio certificato.
- **Orologio di sistema errato** che fa sembrare i certificati validi scaduti o non ancora validi.
- **Un sito con catena rotta**, mancante di un certificato intermedio.
- **Un'immagine container** senza il pacchetto di certificati CA di sistema.

## Come diagnostico CERTIFICATE_VERIFY_FAILED passo dopo passo?

1. Esegui la stessa richiesta senza il proxy. Se fallisce anche lì, il proxy non è coinvolto.
2. Stampa l'emittente del certificato con `openssl s_client` o curl `-v`: un emittente che coincide con antivirus o firewall indica ispezione.
3. Controlla data e ora di sistema.
4. Aggiorna il bundle CA e riprova.

*Testa l'URL che fallisce con curl (porta HTTP, 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
```

## Come risolvo CERTIFICATE_VERIFY_FAILED?

- **Aggiorna `certifi`** (`pip install -U certifi`) o il pacchetto CA del sistema.
- **Aggiungi il certificato di ispezione aziendale** al trust store se la tua rete richiede ispezione, oppure esegui lo scraper fuori da quella rete.
- **Sistema l'orologio** con sincronizzazione di rete.
- **Installa i certificati CA** nelle immagini container minimaliste, ad esempio il pacchetto `ca-certificates`.
- **Non disabilitare la verifica** nel codice che invia credenziali o raccoglie dati critici.

## Devo riprovare dopo CERTIFICATE_VERIFY_FAILED?

Non riprovare: lo stesso trust store fallirà nello stesso modo. Sistema il trust store, l'orologio o il percorso di rete e riprova.

## Come si applica SSL: CERTIFICATE_VERIFY_FAILED a CrawlRelay?

La porta HTTP di CrawlRelay tunnelizza HTTPS con `CONNECT`, quindi il certificato controllato dal client è quello inviato dal sito. Se l'errore appare solo tramite il gateway e mai senza, contatta il supporto con il nome host di destinazione e l'errore completo per verifiche sull'uscita.

Gateway: `gw.crawlrelay.com`, porta 7777 (HTTP, HTTPS tramite CONNECT) e porta 7778 (SOCKS5). Formato username: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Correlato: [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/it/docs/errors/ssl-wrong-version-number/) · [Connection reset](https://crawlrelay.com/it/docs/errors/connection-reset/) · [Guida Python](https://crawlrelay.com/it/docs/python/).

## SSL: CERTIFICATE_VERIFY_FAILED: domande frequenti dagli sviluppatori

### Un proxy può causare errori di certificato SSL?

Un proxy che intercetta può, perché presenta il proprio certificato. Un proxy tunnel CONNECT no, perché inoltra solo byte criptati e non vede il contenuto della stretta di mano. Esegui la stessa richiesta senza proxy: se l'errore persiste, la causa è sulla tua macchina o rete.

### È sicuro usare verify=False per lo scraping?

Non come soluzione. Nasconde l'ispezione e catene rotte, e un attaccante sul percorso potrebbe leggere o modificare il traffico, inclusi token e cookie. Usalo solo per un test locale rapido, mai in un processo automatico o che invia credenziali.

### Perché fallisce in Docker ma funziona sul mio portatile?

Le immagini container minimaliste spesso non includono certificati CA, quindi nessun certificato può essere validato. Installa il pacchetto CA di sistema nell'immagine o affidati al bundle certifi in Python. Controlla anche che l'orologio del container sia corretto.

## Altri errori proxy in questo riferimento

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

**Proxy residenziali con documentazione che copre i casi di errore** Proxy residenziali CrawlRelay da 0,50 USD/GB, traffico che non scade mai. [Vedi i prezzi](https://crawlrelay.com/it/pricing/) · [Avvio rapido](https://crawlrelay.com/it/docs/)

---

CrawlRelay: CrawlRelay è un servizio di proxy residenziali rotanti e proxy mobili 4G/5G primo per sviluppatori: traffico pay-as-you-go senza scadenza da 0,50 USD/GB, pagato in crypto, senza caricamento documenti. Senza KYC — niente documento, selfie o altri documenti. Paga in crypto.
