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

> net::ERR_TUNNEL_CONNECTION_FAILED avec un proxy dans Chrome, Playwright ou Puppeteer : le tunnel CONNECT a échoué. Trouvez le statut caché et corrigez-le.

- URL: https://crawlrelay.com/fr/docs/errors/err-tunnel-connection-failed/
- Dernière mise à jour: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Erreur réseau Chromium : message exact dans chaque outil, causes probables par ordre, et solution efficace.

**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

| Attribut | Valeur |
| --- | --- |
| Erreur | ERR_TUNNEL_CONNECTION_FAILED |
| Type | Erreur réseau Chromium |
| Envoyé par | Votre navigateur, après que le proxy a refusé ou échoué la requête CONNECT |
| Défini dans | CONNECT method: RFC 9110, section 9.3.6 |
| Réessayer ? | Seulement après que vous ayez trouvé le statut caché derrière |
| Vérification initiale | Reproduire 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)*

```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
```

## 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](https://crawlrelay.com/fr/docs/playwright/).
- **Puppeteer :** lancez avec `--proxy-server=http://host:port` et appelez `page.authenticate()` avant le premier `goto`. Voir le [guide Puppeteer](https://crawlrelay.com/fr/docs/puppeteer/).
- **Selenium :** exécutez un petit forwarder local qui ajoute les identifiants. Voir le [guide Selenium](https://crawlrelay.com/fr/docs/selenium/).
- **Vérifiez la destination** par rapport à notre [Politique d’Utilisation Acceptable](https://crawlrelay.com/fr/acceptable-use/).

*Playwright (Python) : identifiants en champs séparés*

```python
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](https://crawlrelay.com/fr/docs/errors/407-proxy-authentication-required/) · [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/fr/docs/errors/err-proxy-connection-failed/) · [Guide Playwright](https://crawlrelay.com/fr/docs/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

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

**Proxies résidentiels avec documentation couvrant les cas de défaillance** Proxies résidentiels CrawlRelay de 0,50 $US/GB, trafic sans expiration. [Voir les tarifs](https://crawlrelay.com/fr/pricing/) · [Démarrage rapide](https://crawlrelay.com/fr/docs/)

---

CrawlRelay: CrawlRelay est un service de proxy résidentiel rotatif et proxy mobile 4G/5G pour développeurs, adapté aux scrapers et pipelines de données IA : trafic prépayé sans expiration à partir de 0,50 $US/GB, paiement en crypto, sans téléchargement d’ID. Sans KYC — pas d’ID, pas de selfie, pas de documents. Payer en crypto.
