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 du navigateur et du client

net::ERR_TUNNEL_CONNECTION_FAILED avec un proxy : causes et remèdes

Erreur réseau Chromium : 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 ERR_TUNNEL_CONNECTION_FAILED avec un proxy ?

net::ERR_TUNNEL_CONNECTION_FAILED signifie que Chrome a demandé au proxy d’ouvrir un tunnel vers un site HTTPS et que le proxy n’a pas répondu 200 Connection established. Le navigateur cache le vrai statut. Avec les proxies résidentiels CrawlRelay, la cause est généralement des identifiants manquants dans Playwright ou Puppeteer, puis une cible que la gateway ne peut pas atteindre. Reproduisez avec curl -v pour voir le vrai code.

ERR_TUNNEL_CONNECTION_FAILED en un coup d'œil

ErreurERR_TUNNEL_CONNECTION_FAILED
TypeErreur réseau Chromium
Envoyé parVotre navigateur, après que le proxy a refusé ou échoué la requête CONNECT
Défini dansCONNECT method: RFC 9110, section 9.3.6
Réessayer ?Seulement après que vous ayez trouvé le statut caché derrière
Vérification initialeReproduire avec curl -v pour voir le vrai statut du CONNECT

Que signifie ERR_TUNNEL_CONNECTION_FAILED ?

Pour charger une page HTTPS via un proxy HTTP, le navigateur envoie d'abord CONNECT host:443. Si le proxy répond 200, le navigateur démarre TLS dans le tunnel. Toute autre réponse, comme 407, 403 ou 502, interrompt la tentative, et Chromium signale une erreur générique.

C'est pourquoi cette erreur vous indique où la défaillance s'est produite, dans le tunnel, mais pas pourquoi. Le pourquoi est le code d'état que le proxy a envoyé, que vous pouvez voir avec curl.

À quoi ressemble ERR_TUNNEL_CONNECTION_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 :

  • Playwright : page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://...
  • Puppeteer : Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://...
  • Barre d'adresse Chrome : 'Impossible d’accéder à ce site' avec le code ERR_TUNNEL_CONNECTION_FAILED
  • Selenium avec Chrome : le même code dans un WebDriverException

Quelles sont les causes de ERR_TUNNEL_CONNECTION_FAILED ?

Probablement en premier lieu :

  • Aucune identification envoyée (407 caché). Chrome ignore un nom d'utilisateur et mot de passe dans --proxy-server.
  • Une destination refusée (403 caché), comme une catégorie bloquée par la politique d'utilisation du proxy.
  • Une cible inaccessible (502 ou 504 caché) : un hôte mort, une faute de frappe ou une erreur DNS en sortie.
  • Un mauvais port : diriger le navigateur vers le port SOCKS5 comme s’il s’agissait d’un HTTP, ou l’inverse.

Comment diagnostiquer ERR_TUNNEL_CONNECTION_FAILED étape par étape ?

  1. Lancez la même URL via curl avec -v (commande ci-dessous) et notez la ligne après CONNECT.
  2. Un 407 indique une identification ; un 403 une destination refusée ; un 502 ou 504 désignent la cible ou la sortie.
  3. Vérifiez que le navigateur utilise le port HTTP pour un serveur proxy http://.
  4. Testez une page simple comme https://api.ipify.org avant votre cible réelle.
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 ERR_TUNNEL_CONNECTION_FAILED ?

  • Playwright : passez server, username et password dans l’option proxy, par navigateur ou par contexte. Voir le guide Playwright.
  • Puppeteer : lancez avec --proxy-server=http://host:port et appelez page.authenticate() avant le premier goto. Voir le guide Puppeteer.
  • Selenium : exécutez un petit forwarder local qui ajoute les identifiants. Voir le guide Selenium.
  • Vérifiez la destination par rapport à notre Politique d’Utilisation Acceptable.
Playwright (Python) : identifiants en champs séparés
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://gw.crawlrelay.com:7777",
        "username": "USERNAME-country-us",
        "password": "PASSWORD",
    })
    page = browser.new_page()
    response = page.goto("https://api.ipify.org")
    print(response.status, page.inner_text("body"))
    browser.close()

Dois-je réessayer après ERR_TUNNEL_CONNECTION_FAILED ?

Réessayez seulement une fois le statut caché connu. Un 407 ou 403 caché se répétera indéfiniment ; corrigez la configuration. Un 502 ou 504 caché peut être retenté sur une nouvelle sortie, comme toute erreur de passerelle.

Quelle est l'incidence de ERR_TUNNEL_CONNECTION_FAILED sur CrawlRelay ?

Le port HTTP de CrawlRelay transporte HTTPS via des tunnels CONNECT, que tous les outils basés sur Chromium supportent. Utilisez le port HTTP pour les navigateurs : Chromium ne supporte pas SOCKS5 avec nom d’utilisateur et mot de passe.

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 : 407 Proxy Authentication Required · ERR_PROXY_CONNECTION_FAILED · Guide Playwright.

ERR_TUNNEL_CONNECTION_FAILED : questions fréquentes des développeurs

Pourquoi curl fonctionne-t-il alors que Playwright affiche ERR_TUNNEL_CONNECTION_FAILED ?

Parce que curl transmet les identifiants depuis l’URL du proxy, alors que Chromium ignore les identifiants dans l’adresse du serveur proxy. Dans Playwright, passez username et password comme champs séparés de l’option proxy. Dans Puppeteer, appelez page.authenticate() avant la navigation.

Puis-je utiliser des proxies SOCKS5 avec authentification dans Chrome ?

Pas directement. Chromium supporte les proxies SOCKS5 mais pas l’authentification par nom d’utilisateur et mot de passe SOCKS5. Utilisez plutôt le port HTTP de la passerelle, qui gère les sites HTTPS via des tunnels CONNECT, ou lancez un forwarder local qui authentifie pour le navigateur.

Est-ce que ERR_TUNNEL_CONNECTION_FAILED est causé par le site web ?

Rarement directement. Le tunnel est entre le navigateur et le proxy, donc l’erreur survient avant que le site web n’observe une négociation TLS. Le site web peut être la cause indirecte s’il est inaccessible et que le proxy répond 502 ou 504 à la requête CONNECT.

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