# net::ERR_TUNNEL_CONNECTION_FAILED z proxy: przyczyny i rozwiązania

> net::ERR_TUNNEL_CONNECTION_FAILED z proxy w Chrome, Playwright lub Puppeteer: tunel CONNECT nie powiódł się. Znajdź ukryty status i napraw.

- URL: https://crawlrelay.com/pl/docs/errors/err-tunnel-connection-failed/
- Ostatnia aktualizacja: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Błąd sieci Chromium: dokładny komunikat w każdym narzędziu, możliwe przyczyny w kolejności oraz działające rozwiązanie.

**Szybka odpowiedź — Co oznacza ERR_TUNNEL_CONNECTION_FAILED w kontekście proxy?**

**net::ERR_TUNNEL_CONNECTION_FAILED** oznacza, że Chrome poprosił proxy o otwarcie tunelu do strony HTTPS, ale proxy nie odpowiedziało `200 Connection established`. Przeglądarka ukrywa prawdziwy status. Przy CrawlRelay residential proxies zwykle brak danych uwierzytelniających w Playwright lub Puppeteer, potem cel niedostępny dla bramki. Odtwórz z `curl -v`, by zobaczyć prawdziwy kod.

## ERR_TUNNEL_CONNECTION_FAILED w skrócie

| Atrybut | Wartość |
| --- | --- |
| Błąd | ERR_TUNNEL_CONNECTION_FAILED |
| Typ | Błąd sieci Chromium |
| Wysłane przez | Twoja przeglądarka, po odmowie lub niepowodzeniu żądania CONNECT przez proxy |
| Zdefiniowano w | CONNECT method: RFC 9110, section 9.3.6 |
| Spróbować ponownie? | Dopiero po odkryciu faktycznego statusu za tym błędem |
| Najpierw sprawdź | Odtwórz z curl -v, by zobaczyć rzeczywisty status CONNECT |

## Co oznacza ERR_TUNNEL_CONNECTION_FAILED?

Aby załadować stronę HTTPS przez HTTP proxy, przeglądarka najpierw wysyła `CONNECT host:443`. Jeśli proxy odpowie 200, przeglądarka zaczyna TLS w tunelu. Każda inna odpowiedź, np. 407, 403 lub 502, kończy próbę, a Chromium zgłasza ogólny błąd.

Dlatego ten błąd wskazuje miejsce awarii - tunel, ale nie powód. Powodem jest status proxy, który zobaczysz curl.

## Jak wygląda ERR_TUNNEL_CONNECTION_FAILED w Python, curl, Node.js i przeglądarkach?

Ten sam błąd wyświetla się inaczej w każdym narzędziu. Oto komunikaty, które warto wyszukać w logach:

- **Playwright:** `page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://...`
- **Puppeteer:** `Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://...`
- **Pasek adresu Chrome:** 'Nie można uzyskać dostępu do tej witryny' z kodem `ERR_TUNNEL_CONNECTION_FAILED`
- **Selenium z Chrome:** ten sam kod wewnątrz `WebDriverException`

## Co powoduje ERR_TUNNEL_CONNECTION_FAILED?

Najczęściej na początku:

- **Brak przesłanych danych logowania** (ukryty 407). Chrome ignoruje nazwę użytkownika i hasło w `--proxy-server`.
- **Odmowa dostępu** (ukryty 403), np. kategoria zablokowana przez politykę użycia proxy.
- **Nieosiągalny cel** (ukryty 502 lub 504): martwy host, literówka lub błąd DNS na wyjściu.
- **Zły port**: skierowanie przeglądarki na port SOCKS5 jak na HTTP lub odwrotnie.

## Jak krok po kroku zdiagnozować ERR_TUNNEL_CONNECTION_FAILED?

1. Uruchom ten sam URL przez curl z `-v` (polecenie poniżej) i odczytaj linię po `CONNECT`.
2. `407` oznacza dane uwierzytelniające; `403` odmowę dostępu; `502` lub `504` cel lub wyjście.
3. Potwierdź, że przeglądarka korzysta z portu HTTP dla serwera proxy `http://`.
4. Przetestuj prostą stronę, np. `https://api.ipify.org`, zanim przejdziesz do rzeczywistego celu.

*Przetestuj nie działający URL za pomocą curl (port HTTP, tryb verbose)*

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

## Jak naprawić ERR_TUNNEL_CONNECTION_FAILED?

- **Playwright:** użyj `server`, `username` i `password` w opcji `proxy`, dla przeglądarki lub kontekstu. Zobacz [instrukcję Playwright](https://crawlrelay.com/pl/docs/playwright/).
- **Puppeteer:** uruchom z `--proxy-server=http://host:port` i wywołaj `page.authenticate()` przed pierwszym `goto`. Zobacz [instrukcję Puppeteer](https://crawlrelay.com/pl/docs/puppeteer/).
- **Selenium:** uruchom lokalny forwarder dodający dane uwierzytelniające. Zobacz [instrukcję Selenium](https://crawlrelay.com/pl/docs/selenium/).
- **Sprawdź cel** względem naszej [Polityki akceptowalnego użycia](https://crawlrelay.com/pl/acceptable-use/).

*Playwright (Python): poświadczenia jako oddzielne pola*

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

## Czy warto ponawiać próbę po ERR_TUNNEL_CONNECTION_FAILED?

Ponów próbę tylko jeśli znasz ukryty status. Ukryty 407 lub 403 będzie powtarzany w nieskończoność; popraw konfigurację. Ukryty 502 lub 504 można ponowić na nowym wyjściu, jak każdy błąd bramki.

## Jak ERR_TUNNEL_CONNECTION_FAILED odnosi się do CrawlRelay?

Port HTTP CrawlRelay obsługuje HTTPS przez tunele `CONNECT`, które wspiera każde narzędzie oparte na Chromium. Używaj portu HTTP dla przeglądarek: Chromium nie obsługuje SOCKS5 z nazwą użytkownika i hasłem.

Gateway: `gw.crawlrelay.com`, port 7777 (HTTP, HTTPS przez CONNECT) i port 7778 (SOCKS5). Format nazwy użytkownika: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Powiązane: [407 Proxy Authentication Required](https://crawlrelay.com/pl/docs/errors/407-proxy-authentication-required/) · [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/pl/docs/errors/err-proxy-connection-failed/) · [Instrukcja Playwright](https://crawlrelay.com/pl/docs/playwright/).

## ERR_TUNNEL_CONNECTION_FAILED: pytania, które zadają deweloperzy

### Dlaczego curl działa, a Playwright pokazuje ERR_TUNNEL_CONNECTION_FAILED?

Ponieważ curl przesyła dane logowania z URL proxy, a Chromium ignoruje dane logowania wpisane w adres serwera proxy. W Playwright podaj `username` i `password` jako oddzielne pola w opcji `proxy`. W Puppeteer wywołaj `page.authenticate()` przed nawigacją.

### Czy mogę używać proxy SOCKS5 z uwierzytelnianiem w Chrome?

Nie bezpośrednio. Chromium obsługuje proxy SOCKS5, ale nie SOCKS5 z uwierzytelnianiem przez nazwę użytkownika i hasło. Zamiast tego użyj portu HTTP bramki, który obsługuje HTTPS przez tunele CONNECT, lub uruchom lokalny forwarder uwierzytelniający przeglądarkę.

### Czy ERR_TUNNEL_CONNECTION_FAILED jest spowodowany przez stronę internetową?

Rzadko bezpośrednio. Tunel jest między przeglądarką a proxy, więc błąd pojawia się zanim strona internetowa zobaczy handshake TLS. Strona może być pośrednią przyczyną, gdy jest niedostępna, a proxy odpowiada 502 lub 504 na żądanie CONNECT.

## Inne błędy proxy w tym odniesieniu

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

**Proxy rezydencjalne z dokumentacją opisującą przypadki błędów** CrawlRelay proxy rezydencjalne od 0,50 USD/GB, ruch, który nigdy nie wygasa. [Zobacz ceny](https://crawlrelay.com/pl/pricing/) · [Szybki start](https://crawlrelay.com/pl/docs/)

---

CrawlRelay: CrawlRelay to serwis proxy rezydencjalne i mobilne proxy 4G/5G z rotacją, stworzony dla programistów i potoków danych AI: ruch bez wygasania w modelu pay-as-you-go od 0,50 USD/GB, płatny w kryptowalutach, bez konieczności przesyłania dokumentów. Bez KYC — brak dowodu, selfie i dokumentów. Płać w kryptowalutach.
