# net::ERR_TUNNEL_CONNECTION_FAILED met een proxy: oorzaken en oplossingen

> net::ERR_TUNNEL_CONNECTION_FAILED met een proxy in Chrome, Playwright of Puppeteer: de CONNECT-tunnel faalde. Vind de verborgen status en los het op.

- URL: https://crawlrelay.com/nl/docs/errors/err-tunnel-connection-failed/
- Laatst bijgewerkt: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Chromium netwerkfout: het exacte bericht in elk hulpmiddel, de waarschijnlijke oorzaken in volgorde, en de oplossing die werkt.

**Kort antwoord — Wat betekent ERR_TUNNEL_CONNECTION_FAILED bij een proxy?**

**net::ERR_TUNNEL_CONNECTION_FAILED** betekent dat Chrome de proxy vroeg een tunnel te openen naar een HTTPS-site en de proxy niet `200 Connection established` antwoordde. De browser verbergt de echte status. Bij CrawlRelay residentiële proxies is de oorzaak meestal ontbrekende credentials in Playwright of Puppeteer, gevolgd door een doel dat de gateway niet kan bereiken. Reproduceer met `curl -v` om de echte code te zien.

## ERR_TUNNEL_CONNECTION_FAILED in één oogopslag

| Attribuut | Waarde |
| --- | --- |
| Fout | ERR_TUNNEL_CONNECTION_FAILED |
| Type | Chromium netwerkfout |
| Verzonden door | Je browser, na afwijzing of mislukking van de proxy CONNECT aanvraag |
| Gedefinieerd in | CONNECT method: RFC 9110, section 9.3.6 |
| Opnieuw proberen? | Pas nadat je de status daarachter vindt |
| Eerst controleren | Herproduceer met curl -v om de echte status van de CONNECT te zien |

## Wat betekent ERR_TUNNEL_CONNECTION_FAILED?

Om een HTTPS-pagina via een HTTP-proxy te laden, stuurt de browser eerst `CONNECT host:443`. Als de proxy 200 antwoordt, start de browser TLS binnen de tunnel. Elk ander antwoord, zoals 407, 403 of 502, stopt de poging, en Chromium rapporteert één generieke fout.

Daarom vertelt deze fout je waar het misging, bij de tunnel, maar niet waarom. Het waarom is de statuscode die de proxy stuurde, die je kunt zien met curl.

## Hoe ziet ERR_TUNNEL_CONNECTION_FAILED eruit in Python, curl, Node.js en browsers?

Dezelfde fout verschijnt anders in elk hulpmiddel. Dit zijn de berichten om in je logs te zoeken:

- **Playwright:** `page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://...`
- **Puppeteer:** `Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://...`
- **Chrome adresbalk:** 'Deze site is niet bereikbaar' met de code `ERR_TUNNEL_CONNECTION_FAILED`
- **Selenium met Chrome:** dezelfde code binnen een `WebDriverException`

## Wat veroorzaakt ERR_TUNNEL_CONNECTION_FAILED?

Waarschijnlijk eerst:

- **Geen inloggegevens verzonden** (verborgen 407). Chrome negeert een gebruikersnaam en wachtwoord binnen `--proxy-server`.
- **Een geweigerde bestemming** (verborgen 403), zoals een categorie die door het gebruiksbeleid van de proxy is geblokkeerd.
- **Een onbereikbare bestemming** (verborgen 502 of 504): een dode host, een tikfout of een DNS-fout bij de uitgang.
- **Een verkeerde poort**: de browser naar de SOCKS5-poort wijzen alsof het HTTP is, of andersom.

## Hoe diagnosticeer ik ERR_TUNNEL_CONNECTION_FAILED stap voor stap?

1. Voer dezelfde URL uit via curl met `-v` (commando hieronder) en lees de regel na `CONNECT`.
2. Een `407` betekent inloggegevens; een `403` betekent een geweigerde bestemming; een `502` of `504` betekent de bestemming of de uitgang.
3. Bevestig dat de browser de HTTP-poort gebruikt voor een `http://` proxyserver.
4. Test een simpele pagina zoals `https://api.ipify.org` voor je echte doel.

*Test de foutieve URL met curl (HTTP-poort, uitvoerig)*

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

## Hoe los ik ERR_TUNNEL_CONNECTION_FAILED op?

- **Playwright:** geef `server`, `username` en `password` door in de `proxy` optie, per browser of per context. Zie de [Playwright gids](https://crawlrelay.com/nl/docs/playwright/).
- **Puppeteer:** start met `--proxy-server=http://host:port` en roep `page.authenticate()` aan voordat je de eerste `goto` doet. Zie de [Puppeteer gids](https://crawlrelay.com/nl/docs/puppeteer/).
- **Selenium:** draai een kleine lokale doorstuurder die de inloggegevens toevoegt. Zie de [Selenium gids](https://crawlrelay.com/nl/docs/selenium/).
- **Controleer de bestemming** aan de hand van onze [Acceptable Use Policy](https://crawlrelay.com/nl/acceptable-use/).

*Playwright (Python): inloggegevens als aparte velden*

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

## Moet ik opnieuw proberen na ERR_TUNNEL_CONNECTION_FAILED?

Herprobeer alleen als je de verborgen status kent. Een verborgen 407 of 403 blijft voor altijd doorlopen; pas de configuratie aan. Een verborgen 502 of 504 kan opnieuw geprobeerd worden via een nieuwe uitgang, zoals elke gateway-fout.

## Hoe geldt ERR_TUNNEL_CONNECTION_FAILED voor CrawlRelay?

De HTTP-poort van CrawlRelay transporteert HTTPS via `CONNECT` tunnels, die ieder Chromium-gebaseerd hulpmiddel ondersteunt. Gebruik de HTTP-poort voor browsers: Chromium ondersteunt geen SOCKS5 met gebruikersnaam en wachtwoord.

Gateway: `gw.crawlrelay.com`, poort 7777 (HTTP, HTTPS via CONNECT) en poort 7778 (SOCKS5). Gebruikersnaamformaat: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Gerelateerd: [407 Proxy Authentication Required](https://crawlrelay.com/nl/docs/errors/407-proxy-authentication-required/) · [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/nl/docs/errors/err-proxy-connection-failed/) · [Playwright gids](https://crawlrelay.com/nl/docs/playwright/).

## ERR_TUNNEL_CONNECTION_FAILED: vragen die ontwikkelaars stellen

### Waarom werkt curl wel maar toont Playwright ERR_TUNNEL_CONNECTION_FAILED?

Omdat curl de inloggegevens vanuit de proxy-URL stuurt, terwijl Chromium de inloggegevens in het adres van de proxyserver negeert. Bij Playwright geef je `username` en `password` als aparte velden van de `proxy` optie door. Bij Puppeteer roep je `page.authenticate()` aan vóór navigatie.

### Kan ik SOCKS5 proxies met authenticatie gebruiken in Chrome?

Niet direct. Chromium ondersteunt SOCKS5 proxies, maar niet SOCKS5 authenticatie met gebruikersnaam en wachtwoord. Gebruik daarom de HTTP-poort van de gateway, die HTTPS-sites via CONNECT tunnels behandelt, of draai een lokale doorstuurder die voor de browser authenticatie verzorgt.

### Wordt ERR_TUNNEL_CONNECTION_FAILED door de website veroorzaakt?

Zelden direct. De tunnel is tussen de browser en de proxy, dus de fout ontstaat voordat de website een TLS-handshake ziet. De website kan indirect de oorzaak zijn wanneer die onbereikbaar is en de proxy met 502 of 504 op het CONNECT-verzoek reageert.

## Andere proxyfouten in deze referentie

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

**Residentiële proxy's met documentatie die de faalgevallen beschrijft** CrawlRelay residentiële proxy's van US$ 0,50/GB, verkeer dat nooit verloopt. [Zie prijslijst](https://crawlrelay.com/nl/pricing/) · [Snelle start](https://crawlrelay.com/nl/docs/)

---

CrawlRelay: CrawlRelay is een developer-first dienst met roterende residentiële proxy's en mobiele 4G-proxy's voor scrapers en AI-datastromen: niet-vervalverkeer op basis van pay-as-you-go vanaf US$ 0,50/GB, betaald in crypto, zonder ID-upload. Zonder KYC — geen ID, geen selfie, geen documenten. Betaal met crypto.
