ไม่ต้อง KYC — ไม่ต้องใช้บัตรประชาชน ไม่ต้องถ่ายเซลฟี่ ไม่ต้องเอกสาร จ่ายด้วยคริปโต: BTC, USDT, USDC, ETH, SOL, LTC
ภาษา: ไทย
เริ่มต้นเลย

ข้อมูลอ้างอิงข้อผิดพลาดพร็อกซี · ข้อผิดพลาดของเบราว์เซอร์และไคลเอนต์

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

ข้อผิดพลาดของเครือข่าย 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, โหมดละเอียด)
# 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

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

Playwright (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 · ERR_PROXY_CONNECTION_FAILED · คู่มือ 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

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

รหัสสถานะ HTTP

ข้อผิดพลาดของเบราว์เซอร์และไคลเอนต์

ข้อผิดพลาดการเชื่อมต่อและ TLS

พร็อกซีเรซิเดนเชียลที่มีเอกสารอธิบายกรณีล้มเหลว

พร็อกซีเรซิเดนเชียล CrawlRelay จาก US$0.50/GB, ปริมาณข้อมูลที่ไม่หมดอายุ

จาก US$0.50/GB · ไม่ต้อง KYC

เริ่มต้นเลย