หางานสุดท้ายที่เสร็จสมบูรณ์ในผลลัพธ์แบบละเอียดของ curl ข้อความว่า “เชื่อมต่อพร็อกซีแล้ว แต่ไม่มีคำตอบ CONNECT” ช่วยจำกัดขอบเขตปัญหาได้มากกว่า “พร็อกซีหมดเวลา” มาก

ใช้คำขอที่มีเวลาจำกัด โดยเปลี่ยนตัวอย่างภายในเครื่องเป็นพร็อกซี HTTP ของคุณ สามารถหาเอนด์พอยต์อื่นมาเปรียบเทียบจากรายการพร็อกซี HTTPได้:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

--connect-timeout 5 ให้กรอบเวลาร่วมหนึ่งชุดสำหรับการสร้างการเชื่อมต่อ รวมการค้นหาและแฮนด์เชกที่เกี่ยวข้อง ไม่ได้ให้ขั้นตอนละห้าวินาที ส่วน --max-time 15 จำกัดเวลาทั้งงาน รวมเวลาถ่ายโอนหลังสร้างการเชื่อมต่อด้วย

ความคืบหน้าหยุดที่ใดสิ่งที่ควรตรวจต่อ
เชื่อมต่อพร็อกซีไม่ได้การแปลงชื่อโฮสต์พร็อกซี พอร์ตที่รอรับ การกำหนดเส้นทาง และนโยบายไฟร์วอลล์
เชื่อมต่อพร็อกซีแล้ว แต่ไม่มีคำตอบอุโมงค์ภาระของพร็อกซี การเจรจายืนยันตัวตน นโยบายการเข้าถึง และการเข้าถึงปลายทางจากพร็อกซี
อุโมงค์ได้รับการยอมรับ แต่ TLS ไม่เสร็จการเข้าถึงปลายทาง การเจรจา TLS และการดักรับทราฟฟิกภายใต้การจัดการ
ได้รับส่วนหัวจากปลายทางแล้ว แต่เนื้อหาค้างพฤติกรรมการส่งของเซิร์ฟเวอร์ต้นทาง การพักข้อมูลของตัวกลาง และการที่แอปตั้งใจเงียบหรือไม่

ดูลำดับแฮนด์เชกได้ในวิธีที่ CONNECT ขนส่ง HTTPS การหยุดใกล้กรอบเวลาการเชื่อมต่อชี้ไปที่การสร้างการเชื่อมต่อ ส่วนการหยุดภายหลังเมื่อถึงเวลารวมชี้ไปที่การถ่ายโอนที่ยังไม่เสร็จ ควรดูทั้งลำดับและเวลา เพราะเวลาเพียงอย่างเดียวระบุองค์ประกอบไม่ได้ ข้อความบันทึกต่างกันตามรุ่นที่บิลด์ของ curl และพอร์ต TCP ที่เปิดไม่ได้พิสูจน์ว่า CONNECT ใช้งานได้

คงเงื่อนไขด้านหนึ่งไว้

เปรียบเทียบปลายทางเดิมผ่านเส้นทางตรงที่ได้รับอนุญาต:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

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

เมื่อการเชื่อมต่อยังเปิดแต่ไม่คืบหน้าอย่างมีประโยชน์

การถ่ายโอนไฟล์อาจต้องมีเกณฑ์ความเร็วต่ำ นอกเหนือจากเวลาสร้างการเชื่อมต่อและเวลารวม:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/

คำสั่งนี้ยกเลิกเมื่ออัตราถ่ายโอนต่อเนื่องต่ำกว่า 100 ไบต์ต่อวินาทีนาน 20 วินาที พร้อมคงเพดานเวลารวม 60 วินาที เลือกค่าตามลักษณะงาน สตรีมเหตุการณ์อาจปกติแม้เงียบนาน กฎสำหรับดาวน์โหลดจึงอาจตัดสตรีมนั้นผิดพลาด

การเพิ่มทุกเพดานเพียงเลื่อนเวลาที่อาการปรากฏ การลองซ้ำทันทีหลายครั้งอาจเพิ่มการเชื่อมต่อให้เส้นทางที่รับภาระเกินอยู่แล้ว วินิจฉัยด้วยการเปรียบเทียบอย่างมีเป้าหมายไม่กี่ครั้ง นโยบายลองซ้ำของแอปในภายหลังต้องมีกรอบเวลารวมของตนเองและพิจารณาว่าทำงานเดิมซ้ำได้อย่างปลอดภัยหรือไม่

บทความที่เกี่ยวข้อง