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 WRONG_VERSION_NUMBER via un proxy : la correction

Erreur 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: WRONG_VERSION_NUMBER avec un proxy ?

[SSL: WRONG_VERSION_NUMBER] via un proxy signifie presque toujours que votre client a démarré une négociation TLS avec quelque chose qui répond en clair. La cause habituelle est une URL de proxy https:// pointant vers un port proxy HTTP classique. Avec CrawlRelay, écrivez http:// devant l’adresse de la passerelle pour cibles HTTP et HTTPS ; le HTTPS du site passe toujours par le tunnel.

SSL: WRONG_VERSION_NUMBER en un coup d'œil

ErreurSSL: WRONG_VERSION_NUMBER
TypeErreur TLS côté client
Envoyé parVotre bibliothèque TLS, lorsque la partie distante ne parle pas TLS
Défini dansTLS 1.3: RFC 8446; HTTP proxy CONNECT: RFC 9110, section 9.3.6
Réessayer ?Non. C’est une erreur de configuration
Vérification initialeRegardez le schéma en début d’URL proxy

Que signifie SSL: WRONG_VERSION_NUMBER ?

Le TLS commence par un enregistrement de négociation. Si ce qui revient est une réponse HTTP, la bibliothèque TLS lit un numéro de version incohérent et s’arrête. Python rapporte WRONG_VERSION_NUMBER ; la formulation exacte varie selon la version d’OpenSSL et le client.

Le schéma de l’URL proxy décide comment votre client parle au proxy. http:// signifie HTTP simple vers le proxy, suivi d’un tunnel CONNECT et TLS vers le site. https:// signifie TLS avec le proxy, possible seulement si le port proxy attend du TLS.

À quoi ressemble SSL: WRONG_VERSION_NUMBER 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 requests / urllib3 2.x : SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number')) encapsulé dans une ProxyError
  • httpx : httpx.ConnectError: [SSL: WRONG_VERSION_NUMBER] wrong version number
  • curl : curl: (35) ... wrong version number si vous écrivez -x https:// pour un proxy simple
  • Node.js : EPROTO ... wrong version number dans le message d’erreur

Quelles sont les causes de SSL: WRONG_VERSION_NUMBER ?

Probablement en premier lieu :

  • https:// devant l’adresse du proxy sur un port qui parle HTTP simple. C’est le cas le plus courant.
  • Paramètres copiés-collés d’un fournisseur dont le port proxy attend TLS.
  • https:// sur une URL avec port 80, ou http:// sur port site qui attend TLS, hors proxy.
  • Une variable d’environnement comme HTTPS_PROXY=https://... héritée par votre code.

Comment diagnostiquer SSL: WRONG_VERSION_NUMBER étape par étape ?

  1. Affichez l’URL du proxy utilisée par votre code et vérifiez son schéma.
  2. Vérifiez la présence de HTTPS_PROXY et ALL_PROXY dans l’environnement.
  3. Lancez le test curl ci-dessous avec -x http:// et vérifiez que ça fonctionne.
  4. Si curl marche et pas votre code, votre code ou environnement utilise encore https://.
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 SSL: WRONG_VERSION_NUMBER ?

  • Utilisez http:// pour l’URL proxy dans chaque clé : {"http": "http://...", "https": "http://..."}.
  • Laissez la vérification TLS activée. Le correctif est dans le schéma, pas dans verify=False.
  • Corrigez la variable d’environnement au lieu de la surcharger dans un script.

Dois-je réessayer après SSL: WRONG_VERSION_NUMBER ?

Ne retentez jamais cette erreur : chaque tentative échoue de la même façon. C’est une correction de configuration d’un caractère.

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

Le port HTTP de CrawlRelay est un port de proxy HTTP simple transportant les sites HTTPS via des tunnels CONNECT. Le TLS s’effectue de bout en bout entre votre client et le site dans le tunnel, donc la passerelle ne nécessite jamais une URL de proxy https://.

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 : Échec de la validation du certificat SSL · Impossible de se connecter au proxy · Guide Python.

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

Mon trafic n’est-il pas chiffré si j’utilise une URL proxy http:// ?

Pas pour les sites HTTPS. Le schéma http:// ne couvre que l’échange court CONNECT avec le proxy, incluant vos identifiants. Ensuite, votre client exécute TLS directement avec le site dans le tunnel, et le proxy ne transmet que des octets chiffrés. Les sites en http:// simple ne sont pas chiffrés, avec ou sans proxy.

Pourquoi cela a-t-il commencé après une mise à jour d’urllib3 ?

urllib3 2.x supporte les proxies HTTPS, donc il prend une URL proxy https:// au pied de la lettre et démarre un TLS avec le proxy. Les anciennes configurations fonctionnaient parfois par accident avec un mauvais schéma. Écrivez http:// pour ports proxy HTTP classique et l’erreur disparaît.

Dois-je mettre verify=False pour supprimer l’erreur ?

Non. Désactiver la vérification des certificats ne corrige pas un schéma erroné et vous expose à une interception sur chaque requête. Corrigez le schéma dans l’URL proxy. Gardez la vérification activée en production.

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