ข้อผิดพลาด Proxy timeout: การเชื่อมต่อค้างแล้วหลุด
อัปเดตเมื่อ:
ข้อผิดพลาด timeout น่าหงุดหงิดกว่าข้อผิดพลาดอื่น เพราะระบบไม่แจ้งอะไรเลย ไม่มีการปฏิเสธ ไม่มีการถามรหัสผ่าน มีเพียงความเงียบจนกระทั่งซอฟต์แวร์ของคุณยอมแพ้ โดยทั่วไปแล้ว แพ็กเก็ตข้อมูลอาจหายไปกลางทาง หรือพร็อกซียอมรับการเชื่อมต่อแล้วแต่ตอบกลับไม่ทัน สิ่งสำคัญคือต้องหาสาเหตุว่าความเงียบนี้เกิดขึ้นที่ขั้นตอนใด
ผลลัพธ์ timeout 3 รูปแบบที่เราทดสอบ
เราได้ตั้งค่าพร็อกซีทดสอบที่ยอมรับการเชื่อมต่อ TCP แต่ไม่ส่งข้อมูลตอบกลับ จากนั้นส่งคำขอเดียวกันโดยใช้การจำกัดเวลาสองแบบ (สมมุติแอดเดรสเป็น 203.0.113.10:8080, user123:pass456):
curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.comจะแสดงผลcurl: (28) Proxy CONNECT aborted due to timeoutซึ่งการจำกัดเวลานี้ครอบคลุมเฉพาะขั้นตอนการเชื่อมต่อเท่านั้น- เมื่อเปลี่ยนมาใช้
-m 10(การจำกัดเวลาการส่งข้อมูลทั้งหมด) จะแสดงผลcurl: (28) Connection timed out after 10002 milliseconds - Chromium ที่ชี้ไปยังพร็อกซีตัวเดียวกันจะแจ้ง
ERR_TIMED_OUTส่วน ตัวตรวจสอบพร็อกซี จะรายงานผลว่าtimeout
สาเหตุที่พบบ่อย เรียงตามโอกาสเกิด
- เครือข่ายของคุณบล็อกพอร์ตพร็อกซีอย่างเงียบ ๆ Wi-Fi ในสำนักงาน โรงแรม หรือสถานศึกษามักทิ้งแพ็กเก็ตที่ส่งไปยังพอร์ตที่ไม่คุ้นเคยแทนที่จะปฏิเสธการเชื่อมต่อ ทำให้คุณต้องรอนานอย่างไร้จุดหมาย
- การตั้งค่า timeout ในโค้ดสั้นเกินไป พร็อกซีที่อยู่ในประเทศห่างไกลต้องใช้เวลาในการ handshake นานกว่าปกติ การจำกัดเวลาไว้เพียง 2–3 วินาที อาจตัดการเชื่อมต่อจากพร็อกซีที่ใช้งานได้ตามปกติ
- พร็อกซีหรือเว็บไซต์ปลายทางทำงานหนักเกินไป พร็อกซีรับการเชื่อมต่อแล้วแต่กำลังรอการตอบกลับจากเว็บไซต์ ทำให้เวลาหมดลงก่อนที่จะได้รับข้อมูล
- IP ไม่ถูกต้อง การพิมพ์ผิดจนชี้ไปยังแอดเดรสที่ไม่ตอบสนอง จะทำให้เกิดความเงียบมากกว่าการปฏิเสธการเชื่อมต่อ
วิธีแก้ไขตามสภาพแวดล้อมการใช้งาน
- Windows/Chrome: ลองใช้พร็อกซีตัวเดิมผ่านอินเทอร์เน็ตมือถือ หากปัญหา timeout หายไป แสดงว่าเครือข่ายเดิมกำลังบล็อกอยู่ สามารถอ่านเพิ่มเติมได้ที่ การตรวจสอบพร็อกซีและไฟร์วอลล์
- Antidetect browsers: ปุ่มตรวจสอบพร็อกซีมักมีการกำหนดเวลารอที่ตายตัว ให้ลองกดซ้ำสองสามครั้ง และหากมีเพียงบางโปรไฟล์ที่เชื่อมต่อไม่สำเร็จ ให้เปรียบเทียบข้อมูลพร็อกซีกับโปรไฟล์ที่ใช้งานได้
- Telegram: หากเปิดใช้งานพร็อกซีแล้วค้างอยู่ที่สถานะกำลังเชื่อมต่อ มักเกิดจาก timeout เช่นกัน ให้ทดสอบพร็อกซีในตัวตรวจสอบก่อนเปลี่ยนการตั้งค่าใน Telegram
- Python requests: ส่งค่า
timeout=(10, 30)ซึ่งหมายถึง 10 วินาทีสำหรับการเชื่อมต่อ และ 30 วินาทีสำหรับการอ่านข้อมูล ควรแยกดักจับrequests.exceptions.ConnectTimeoutและrequests.exceptions.ReadTimeoutเพื่อดูว่าการทำงานค้างที่จุดใด และเพิ่มการลองใหม่แบบเว้นระยะ แทนที่จะตั้งเวลา timeout แบบไม่จำกัด - curl: ใช้
--connect-timeoutเพื่อวัดเฉพาะขั้นตอนการเชื่อมต่อ และใช้-mเพื่อกำหนดเวลาสูงสุดของคำสั่งทั้งหมด
Timeout หรือแค่ช้า?
พร็อกซีที่ช้าจะยังคงตอบกลับ เพียงแต่อาจใช้เวลานาน เครื่องมือ ทดสอบความเร็วพร็อกซี จะแสดงเวลาตอบสนองจริง หากค่าที่ได้ใกล้เคียงกับ timeout ของซอฟต์แวร์ ให้ขยายระยะเวลาจำกัดให้มากขึ้น หรือเลือกพร็อกซีในประเทศที่อยู่ใกล้ปลายทางมากกว่าเดิม แต่หากทดสอบซ้ำหลายครั้งแล้วยังไม่ได้รับคำตอบ แสดงว่าเป็น timeout จริง และขั้นตอนต่อไปคือการเปิดทิคเก็ตแจ้งปัญหาพร้อมแนบผลการตรวจสอบ
ขั้นตอนทีละขั้น
- 1
ยืนยันผล timeout ด้วยตัวตรวจสอบ
วางข้อมูลพร็อกซีลงใน ตัวตรวจสอบพร็อกซี หากผลลัพธ์แสดง
timeoutแสดงว่าไม่มีการตอบกลับภายในระยะเวลาที่กำหนด - 2
สลับเครือข่ายเพื่อจำกัดสาเหตุให้แคบลง
ลองเชื่อมต่อใหม่ผ่านอินเทอร์เน็ตมือถือ หากใช้งานได้ แสดงว่าปัญหาอยู่ที่เครือข่ายเดิมหรือไฟร์วอลล์ของเครือข่ายนั้น
- 3
วัดเวลาการตอบสนอง
ใช้เครื่องมือ ทดสอบความเร็วพร็อกซี เพื่อดูว่าพร็อกซีแค่ทำงานช้าหรือไม่มีการตอบสนองเลย
- 4
ปรับแต่งค่า timeout และการลองใหม่ในซอฟต์แวร์ของคุณ
เพิ่มเวลาจำกัดในการเชื่อมต่อเป็นประมาณ 10 วินาที เพิ่มการลองใหม่ แล้วเริ่มทำงานใหม่อีกครั้ง
คำถามที่พบบ่อย
Proxy timeout หมายความว่าพร็อกซีใช้งานไม่ได้แล้วใช่หรือไม่?
ไม่เสมอไป หลายครั้งที่ timeout เกิดจากเครือข่ายของผู้ใช้บล็อกพอร์ตปลายทาง ควรทดสอบจากเครือข่ายอื่นก่อนสรุปผล
ควรตั้งค่า timeout สำหรับพร็อกซีในโค้ดไว้เท่าใด?
การกำหนดเวลาประมาณ 10 วินาทีสำหรับการเชื่อมต่อ และ 30 วินาทีสำหรับการอ่านข้อมูล ถือเป็นจุดเริ่มต้นที่เหมาะสม สำหรับพร็อกซีที่อยู่ไกลหรือหน้าเว็บที่มีขนาดใหญ่ อาจต้องใช้เวลามากกว่านี้
ทำไมถึงเกิด timeout กับบางเว็บไซต์เท่านั้นเมื่อใช้งานผ่านพร็อกซี?
กรณีนี้แสดงว่าพร็อกซียังทำงานได้ปกติ แต่เว็บไซต์ปลายทางตอบสนองช้าหรือกำลังบล็อกอยู่ หากเว็บไซต์แสดงผลเป็น 502 แทนที่จะไม่มีการตอบสนอง ให้ดูที่ 502 Bad Gateway
Timeout แตกต่างจากการปฏิเสธการเชื่อมต่ออย่างไร?
การปฏิเสธการเชื่อมต่อจะได้รับคำตอบกลับมาทันที ส่วน timeout จะต้องรอจนกว่าจะหมดเวลาที่กำหนด ดูรายละเอียดได้ที่ เซิร์ฟเวอร์พร็อกซีปฏิเสธการเชื่อมต่อ
เลือกพร็อกซีที่อยู่ใกล้ตลาดของคุณ
VinaProxy ให้บริการ IP ในเวียดนาม สหรัฐอเมริกา ญี่ปุ่น เกาหลีใต้ สิงคโปร์ สหราชอาณาจักร และฮ่องกง เพื่อให้คุณเชื่อมต่อใกล้ชิดกับกลุ่มเป้าหมายได้เสมอ
ดูราคาแพ็กเกจ