# net::ERR_TUNNEL_CONNECTION_FAILED กับ proxy: สาเหตุและวิธีแก้

> net::ERR_TUNNEL_CONNECTION_FAILED กับ proxy ใน Chrome, Playwright หรือ Puppeteer: tunnel CONNECT ล้มเหลว หา status ซ่อนและแก้ไข

- URL: https://crawlrelay.com/th/docs/errors/err-tunnel-connection-failed/
- อัปเดตล่าสุด: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

ข้อผิดพลาดของเครือข่าย Chromium: ข้อความผิดพลาดที่แม่นยำในแต่ละเครื่องมือ สาเหตุที่เป็นไปได้ตามลำดับ และวิธีแก้ไขที่ใช้งานได้

**คำตอบด่วน — ERR_TUNNEL_CONNECTION_FAILED หมายความว่าอย่างไรกับพร็อกซี?**

**net::ERR_TUNNEL_CONNECTION_FAILED** หมายความว่า Chrome ขอ proxy เปิด tunnel ไปยังเว็บไซต์ HTTPS แต่ proxy ไม่ตอบ `200 Connection established` เบราว์เซอร์ซ่อนสถานะจริง ด้วย CrawlRelay residential proxy สาเหตุส่วนใหญ่มาจากข้อมูลรับรองหายใน Playwright หรือ Puppeteer แล้วเป้าหมายที่เกตเวย์เข้าไม่ถึง ทำซ้ำด้วย `curl -v` เพื่อดูรหัสจริง

## ERR_TUNNEL_CONNECTION_FAILED แบบสั้นๆ

| คุณลักษณะ | ค่า |
| --- | --- |
| ข้อผิดพลาด | ERR_TUNNEL_CONNECTION_FAILED |
| ประเภท | ข้อผิดพลาดของเครือข่าย Chromium |
| ส่งโดย | เบราว์เซอร์คุณหลัง proxy ปฏิเสธหรือเชื่อมต่อ CONNECT ล้มเหลว |
| กำหนดไว้ใน | CONNECT method: RFC 9110, section 9.3.6 |
| ลองใหม่อีกครั้งไหม? | หลังจากคุณหาได้แล้วว่าเป็นสถานะอะไร |
| ตรวจสอบก่อน | ทำซ้ำด้วย curl -v เพื่อดูสถานะจริงของ CONNECT |

## ERR_TUNNEL_CONNECTION_FAILED หมายความว่าอย่างไร?

เพื่อโหลดหน้า HTTPS ผ่าน proxy HTTP เบราว์เซอร์ส่ง `CONNECT host:443` ก่อน หาก proxy ตอบ 200 เบราว์เซอร์จะเริ่ม TLS ภายใน tunnel คำตอบอื่น ๆ เช่น 407, 403 หรือ 502 จบการพยายาม และ Chromium รายงานข้อผิดพลาดทั่วไป

นั่นคือเหตุผลที่ข้อผิดพลาดนี้บอกว่าปัญหาเกิดที่ tunnel แต่ไม่บอกเหตุผล เหตุผลคือตัวรหัสสถานะที่ proxy ส่งมา คุณดูได้ด้วย curl

## ERR_TUNNEL_CONNECTION_FAILED เป็นอย่างไรใน Python, curl, Node.js และเบราว์เซอร์?

ข้อผิดพลาดเดียวกันนี้แสดงผลแตกต่างกันในแต่ละเครื่องมือ นี่คือข้อความที่ต้องค้นหาในบันทึกของคุณ:

- **Playwright:** `page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://...`
- **Puppeteer:** `Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://...`
- **แถบที่อยู่ของ Chrome:** 'ไม่สามารถเข้าถึงไซต์นี้ได้' พร้อมรหัส `ERR_TUNNEL_CONNECTION_FAILED`
- **Selenium กับ Chrome:** รหัสเดียวกันภายใน `WebDriverException`

## อะไรเป็นสาเหตุของ ERR_TUNNEL_CONNECTION_FAILED?

โอกาสสูงสุดอันดับแรก:

- **ไม่มีการส่งข้อมูลรับรอง** (ซ่อน 407) Chrome จะมองข้ามชื่อผู้ใช้และรหัสผ่านใน `--proxy-server`.
- **ปลายทางถูกปฏิเสธ** (ซ่อน 403) เช่น หมวดหมู่ที่ถูกบล็อกตามนโยบายการใช้พร็อกซี.
- **เป้าหมายที่ไม่สามารถเข้าถึงได้** (ซ่อน 502 หรือ 504): โฮสต์ตาย, พิมพ์ผิด หรือความล้มเหลวของ DNS ที่ทางออก.
- **พอร์ตผิด:** ชี้เบราว์เซอร์ไปยังพอร์ต SOCKS5 เหมือนเป็น HTTP หรือกลับกัน.

## ฉันวินิจฉัย ERR_TUNNEL_CONNECTION_FAILED ทีละขั้นตอนอย่างไร?

1. รัน URL เดียวกันผ่าน curl ด้วย `-v` (คำสั่งด้านล่าง) และอ่านบรรทัดถัดจาก `CONNECT`.
2. รหัส `407` หมายถึงข้อมูลรับรอง; `403` หมายถึงปลายทางถูกปฏิเสธ; `502` หรือ `504` หมายถึงเป้าหมายหรือทางออก.
3. ยืนยันว่าเบราว์เซอร์ใช้พอร์ต HTTP สำหรับเซิร์ฟเวอร์พร็อกซี `http://`.
4. ทดสอบหน้าง่าย ๆ เช่น `https://api.ipify.org` ก่อนเป้าหมายจริงของคุณ.

*ทดสอบ URL ที่ล้มเหลวด้วย curl (พอร์ต HTTP, โหมดละเอียด)*

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

## ฉันจะแก้ไข ERR_TUNNEL_CONNECTION_FAILED อย่างไร?

- **Playwright:** ส่งต่อ `server`, `username` และ `password` ในตัวเลือก `proxy` ต่อเบราว์เซอร์หรือต่อบริบท ดู [คู่มือ Playwright](https://crawlrelay.com/th/docs/playwright/).
- **Puppeteer:** เริ่มต้นด้วย `--proxy-server=http://host:port` และเรียก `page.authenticate()` ก่อน `goto` ครั้งแรก ดู [คู่มือ Puppeteer](https://crawlrelay.com/th/docs/puppeteer/).
- **Selenium:** รันโปรแกรมส่งต่อเล็ก ๆ ในเครื่องที่เพิ่มข้อมูลรับรอง ดู [คู่มือ Selenium](https://crawlrelay.com/th/docs/selenium/).
- **ตรวจสอบปลายทาง** กับ [นโยบายการใช้งานที่ยอมรับได้](https://crawlrelay.com/th/acceptable-use/).

*Playwright (Python): กรอกข้อมูลรับรองเป็นช่องแยกต่างหาก*

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

## ฉันควรลองใหม่หลังจาก ERR_TUNNEL_CONNECTION_FAILED ไหม?

ลองใหม่ได้ก็ต่อเมื่อทราบสถานะที่ซ่อนเท่านั้น รหัสซ่อน 407 หรือ 403 จะทำซ้ำตลอดไป; แก้ไขการตั้งค่า รหัสซ่อน 502 หรือ 504 สามารถลองใหม่ได้ที่ทางออกใหม่ เช่นเดียวกับข้อผิดพลาดเกตเวย์ทั่วไป.

## ERR_TUNNEL_CONNECTION_FAILED มีผลอย่างไรกับ CrawlRelay?

พอร์ต HTTP ของ CrawlRelay ส่ง HTTPS ผ่านอุโมงค์ `CONNECT` ซึ่งเครื่องมือ Chromium ทุกตัวรองรับ ใช้พอร์ต HTTP สำหรับเบราว์เซอร์: Chromium ไม่รองรับ SOCKS5 พร้อมชื่อผู้ใช้และรหัสผ่าน.

เกตเวย์: `gw.crawlrelay.com`, พอร์ต 7777 (HTTP, HTTPS ผ่าน CONNECT) และพอร์ต 7778 (SOCKS5). รูปแบบชื่อผู้ใช้: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. ที่เกี่ยวข้อง: [407 Proxy Authentication Required](https://crawlrelay.com/th/docs/errors/407-proxy-authentication-required/) · [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/th/docs/errors/err-proxy-connection-failed/) · [คู่มือ Playwright](https://crawlrelay.com/th/docs/playwright/).

## ERR_TUNNEL_CONNECTION_FAILED: คำถามที่นักพัฒนาถาม

### ทำไม curl ทำงานแต่ Playwright แสดง ERR_TUNNEL_CONNECTION_FAILED?

เพราะ curl ส่งข้อมูลรับรองจาก URL ของพร็อกซี ขณะที่ Chromium มองข้ามข้อมูลรับรองที่เขียนในที่อยู่เซิร์ฟเวอร์พร็อกซี ใน Playwright ให้ส่ง `username` และ `password` เป็นช่องแยกของตัวเลือก `proxy` ใน Puppeteer ให้เรียก `page.authenticate()` ก่อนการนำทางครั้งแรก

### ฉันใช้พร็อกซี SOCKS5 ที่มีการพิสูจน์ตัวตนใน Chrome ได้ไหม?

ไม่โดยตรง Chromium รองรับพร็อกซี SOCKS5 แต่ไม่รองรับการพิสูจน์ตัวตนด้วยชื่อผู้ใช้และรหัสผ่าน SOCKS5 ใช้พอร์ต HTTP ของเกตเวย์แทน ซึ่งรองรับไซต์ HTTPS ผ่านอุโมงค์ CONNECT หรือรันโปรแกรมส่งต่อเครื่องที่พิสูจน์ตัวตนให้เบราว์เซอร์

### ERR_TUNNEL_CONNECTION_FAILED เกิดจากเว็บไซต์หรือไม่?

ไม่บ่อยโดยตรง อุโมงค์เชื่อมต่อระหว่างเบราว์เซอร์กับพร็อกซี ดังนั้นข้อผิดพลาดเกิดก่อนเว็บไซต์เห็นการจับมือ TLS เว็บไซต์อาจเป็นสาเหตุโดยอ้อมเมื่อไม่สามารถเข้าถึงและพร็อกซีตอบ 502 หรือ 504 ต่อคำขอ CONNECT

## ข้อผิดพลาดพร็อกซีอื่นๆ ในเอกสารอ้างอิงนี้

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

**พร็อกซีเรซิเดนเชียลที่มีเอกสารอธิบายกรณีล้มเหลว** พร็อกซีเรซิเดนเชียล CrawlRelay จาก US$0.50/GB, ปริมาณข้อมูลที่ไม่หมดอายุ [ดูราคา](https://crawlrelay.com/th/pricing/) · [เริ่มต้นอย่างรวดเร็ว](https://crawlrelay.com/th/docs/)

---

CrawlRelay: CrawlRelay คือพร็อกซีเรซิเดนเชียลหมุนเวียนพร้อมพร็อกซีมือถือ 4G/5G สำหรับนักพัฒนา เหมาะกับสแครปเปอร์และระบบจัดการข้อมูล AI: เติมเงินจ่ายตามการใช้งานจาก US$0.50/GB จ่ายด้วยคริปโต ไม่ต้องอัปโหลดบัตรประชาชน ไม่ต้อง KYC — ไม่ต้องใช้บัตรประชาชน ไม่ต้องถ่ายเซลฟี่ ไม่ต้องใช้เอกสาร จ่ายด้วยคริปโต
