Sans KYC — pas d’ID, pas de selfie, pas de documents. Payer en crypto : BTC, USDT, USDC, ETH, SOL, LTC
Langue: Français
Commencez

Référence d’erreur proxy · Erreurs de connexion et TLS

SSL CERTIFICATE_VERIFY_FAILED via un proxy

Erreur de certificat TLS côté client : message exact dans chaque outil, causes probables par ordre, et solution efficace.

Dernière mise à jour: · 4 min de lecture

Réponse rapide

Que signifie SSL: CERTIFICATE_VERIFY_FAILED avec un proxy ?

CERTIFICATE_VERIFY_FAILED signifie que votre client n'a pas pu valider le certificat TLS du site web. Via un proxy CONNECT tel que la passerelle CrawlRelay, TLS fonctionne de bout en bout, donc le proxy n'en est pas la cause. Cherchez de votre côté : un bundle CA obsolète, un antivirus ou un pare-feu d'entreprise qui inspecte le HTTPS, ou une horloge système erronée. Ne le réparez jamais avec verify=False en production.

SSL: CERTIFICATE_VERIFY_FAILED en un coup d'œil

ErreurSSL: CERTIFICATE_VERIFY_FAILED
TypeErreur de certificat TLS côté client
Envoyé parVotre bibliothèque TLS, lorsqu'elle ne peut pas valider le certificat du site web
Défini dansX.509 path validation: RFC 5280; TLS 1.3: RFC 8446
Réessayer ?Non. Corrigez le magasin de confiance ou le réseau
Vérification initialeTestez la même URL sans le proxy sur la même machine

Que signifie SSL: CERTIFICATE_VERIFY_FAILED ?

Lors de la négociation TLS, le site web envoie une chaîne de certificats. Votre client la vérifie par rapport à une liste d'autorités de confiance, le magasin de confiance, et contrôle les noms et les dates. Si une vérification échoue, la connexion est interrompue.

Avec un tunnel CONNECT, le proxy transmet la négociation sans modification, donc le certificat que vous voyez est celui du site. Quelque chose qui insère son propre certificat, comme un logiciel d'inspection, ou un magasin de confiance périmé sur votre machine, est la cause habituelle.

À quoi ressemble CERTIFICATE_VERIFY_FAILED en Python, curl, Node.js et navigateurs ?

La même erreur s'affiche différemment selon chaque outil. Voici les messages à rechercher dans vos logs :

  • Python : [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
  • Node.js : UNABLE_TO_GET_ISSUER_CERT_LOCALLY ou SELF_SIGNED_CERT_IN_CHAIN
  • curl : curl: (60) SSL certificate problem: unable to get local issuer certificate
  • Navigateurs : NET::ERR_CERT_AUTHORITY_INVALID

Quelles sont les causes de CERTIFICATE_VERIFY_FAILED ?

Probablement en premier lieu :

  • Un bundle CA obsolète, par exemple un ancien paquet certifi sous Python.
  • Inspection HTTPS par un antivirus, un pare-feu d'entreprise ou un proxy de débogage, qui présente son propre certificat.
  • Une horloge système erronée qui fait apparaître les certificats valides comme expirés ou pas encore valides.
  • Un site avec une chaîne cassée, manquant un certificat intermédiaire.
  • Une image de conteneur sans le paquet de certificats CA système.

Comment diagnostiquer CERTIFICATE_VERIFY_FAILED étape par étape ?

  1. Lancez la même requête sans le proxy. Si ça échoue aussi, le proxy n’est pas impliqué.
  2. Affichez l’émetteur du certificat avec openssl s_client ou curl -v : un émetteur portant le nom de votre antivirus ou pare-feu indique une interception.
  3. Vérifiez la date et l’heure système.
  4. Mettez à jour le bundle CA et retestez.
Tester l'URL en échec avec curl (port HTTP, mode verbeux)
# 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:[email protected]: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

Comment résoudre CERTIFICATE_VERIFY_FAILED ?

  • Mettez à jour certifi (pip install -U certifi) ou votre paquet CA système.
  • Ajoutez le certificat d’inspection de votre entreprise au magasin de confiance si votre réseau requiert une inspection, ou lancez le scraper hors de ce réseau.
  • Réglez l’horloge avec une synchronisation réseau.
  • Installez des certificats CA dans les images de conteneurs allégées, par exemple le paquet ca-certificates.
  • Ne désactivez pas la vérification dans le code qui envoie des identifiants ou collecte des données critiques.

Dois-je réessayer après CERTIFICATE_VERIFY_FAILED ?

N’essayez pas à nouveau : le même magasin de confiance échoue de la même manière. Corrigez le magasin de confiance, l’horloge ou le chemin réseau, puis relancez.

Quelle est l'incidence de SSL: CERTIFICATE_VERIFY_FAILED sur CrawlRelay ?

Le port HTTP de CrawlRelay tunnelise le HTTPS avec CONNECT, donc le certificat vérifié par votre client est celui envoyé par le site web. Si l’erreur n’apparaît qu’à travers la passerelle et jamais sans, contactez le support avec le nom d’hôte ciblé et l’erreur complète pour que nous puissions vérifier le côté sortie.

Passerelle : gw.crawlrelay.com, port 7777 (HTTP, HTTPS via CONNECT) et port 7778 (SOCKS5). Format du nom d'utilisateur : USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. Voir aussi : SSL: WRONG_VERSION_NUMBER · Connexion réinitialisée · Guide Python.

SSL: CERTIFICATE_VERIFY_FAILED : questions fréquentes des développeurs

Un proxy peut-il causer des erreurs de certificat SSL ?

Un proxy interceptant le peut, car il présente son propre certificat. Un proxy tunnel CONNECT ne le peut pas, car il ne transmet que des octets chiffrés et ne voit jamais le contenu de la négociation. Faites la même requête sans proxy : si l’erreur persiste, la cause est dans votre machine ou réseau.

Est-ce que verify=False est sûr pour le scraping ?

Pas comme solution. Cela masque l’inspection et les chaînes cassées, et un attaquant sur le chemin pourrait alors lire ou modifier votre trafic, y compris les jetons et cookies. Utilisez-le seulement pour un test local rapide et jamais dans un job automatisé ou envoyant des identifiants.

Pourquoi ça échoue dans Docker mais fonctionne sur mon portable ?

Les images de conteneurs allégées sont souvent livrées sans certificats CA, donc aucun certificat n’est validable. Installez le paquet CA système dans l’image, ou utilisez le bundle certifi en Python. Vérifiez aussi que l’horloge du conteneur est correcte.

Autres erreurs de proxy dans cette référence

Codes d'état HTTP

Erreurs du navigateur et du client

Erreurs de connexion et TLS

Proxies résidentiels avec documentation couvrant les cas de défaillance

Proxies résidentiels CrawlRelay de 0,50 $US/GB, trafic sans expiration.

À partir de 0,50 $US/GB · sans KYC

Commencez