วิธีแก้ปัญหา 407 Proxy Authentication Required

อัปเดตเมื่อ:

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

ไพรเวตพร็อกซีพร้อมข้อมูลเข้าสู่ระบบที่ชัดเจน

สาเหตุของข้อผิดพลาด 407 เรียงตามโอกาสที่พบบ่อยที่สุด

  • ชื่อผู้ใช้หรือรหัสผ่านผิด หรือไม่ได้ใส่ พิมพ์ผิดแม้แต่ตัวเดียว หรือเผลอคัดลอกเว้นวรรคท้ายข้อความติดมาด้วย นี่คือสาเหตุของรายงานปัญหา 407 ส่วนใหญ่
  • วางข้อมูลผิดช่อง นำข้อความ ip:port:user:pass ทั้งบรรทัดไปวางในช่อง Host หรือวางชื่อผู้ใช้ลงในช่องรหัสผ่าน โปรแกรมบางตัวจะแยกข้อมูลทั้งสี่ช่องให้โดยอัตโนมัติ แต่บางตัวไม่แยก
  • แอปพลิเคชันไม่เคยส่งข้อมูลเข้าสู่ระบบ การตั้งค่าพร็อกซีของระบบปฏิบัติการจะบันทึกเฉพาะที่อยู่และพอร์ตเท่านั้น แอปที่ไม่สามารถเปิดหน้าต่างถามรหัสผ่านจะเชื่อมต่อไปโดยไม่มี auth header และได้รับการตอบกลับเป็น 407
  • มีอักขระพิเศษอยู่ใน URL ของพร็อกซี ในรูปแบบ http://user:pass@host:port อักขระอย่างเช่น @, : หรือ # ในรหัสผ่านจะต้องแปลงเป็น percent-encoded (@ กลายเป็น %40) ไม่เช่นนั้นข้อความจะถูกแยกผิดตำแหน่ง

ลักษณะจริงของข้อผิดพลาด 407

เราได้จำลองข้อผิดพลาดนี้บนพร็อกซีทดสอบ โดยแสดงผ่านที่อยู่สำหรับเอกสาร 203.0.113.10:8080 และจงใจใส่ข้อมูลที่ผิดเป็น user123:pass456 เมื่อทดสอบกับเว็บ HTTPS คำสั่ง curl -x http://user123:[email protected]:8080 https://example.com จะแสดงข้อความ curl: (56) CONNECT tunnel failed, response 407 แต่หากทดสอบกับเว็บ HTTP ทั่วไปพร้อมระบุ -w %{http_code} curl จะแสดงผลเพียง 407

เพิ่มออปชัน -v เพื่อดูว่ามีการส่งข้อมูลเข้าสู่ระบบไปหรือไม่ ข้อความติดตามจะแสดง > CONNECT example.com:443 HTTP/1.1 จากนั้นเป็น > Proxy-Authorization: Basic ... แล้วจึงตามด้วย 407 หากไม่มีบรรทัด Proxy-Authorization แสดงว่าไคลเอนต์ของคุณไม่เคยส่งข้อมูลเข้าสู่ระบบออกไปเลย

เครื่องมือตรวจสอบพร็อกซี ของ VinaProxy จะรายงานกรณีนี้ว่า auth failed (407) ส่วน Headless Chrome ซึ่งไม่มีหน้าต่างเข้าสู่ระบบจะแสดงเป็น ERR_TUNNEL_CONNECTION_FAILED ดูรายละเอียดได้ที่ หน้าข้อผิดพลาด tunnel

วิธีแก้ไขแยกตามสภาพแวดล้อมการใช้งาน

  • Windows และ Chrome: Chrome จะทำงานตามการตั้งค่าพร็อกซีของ Windows (การตั้งค่า > เครือข่ายและอินเทอร์เน็ต > พร็อกซี) ซึ่งเก็บเฉพาะที่อยู่และพอร์ต เมื่อเปิดหน้าเว็บครั้งแรก Chrome จะเปิดหน้าต่างลงชื่อเข้าใช้เพื่อขอชื่อผู้ใช้และรหัสผ่านพร็อกซี หากคุณพิมพ์ผิดและหน้าต่างไม่แสดงขึ้นมาอีก ให้ปิดหน้าต่าง Chrome ทั้งหมดแล้วเปิดใหม่
  • เบราว์เซอร์ Antidetect (AdsPower, GoLogin, GenLogin): ให้แยกช่อง Host, Port, Username และ Password ออกจากกัน ล้างข้อมูลในช่องรหัสผ่านออกให้หมดแล้ววางใหม่อีกครั้งแทนที่จะแก้ไขทีละตัว ดูคำแนะนำการตั้งค่าทีละช่องได้ที่ คู่มือการตั้งค่า GoLogin
  • โทรศัพท์: iPhone มีสวิตช์ การตรวจสอบสิทธิ์ อยู่ที่ การตั้งค่า > Wi-Fi > (i) > กำหนดค่าพร็อกซี หากปิดทิ้งไว้จะทำให้เกิด 407 ส่วน Android มักรองรับเฉพาะโฮสต์และพอร์ตเท่านั้น แอปที่ต้องล็อกอินจึงอาจแสดงข้อผิดพลาดการเชื่อมต่อทั่วไปแทน
  • curl: ส่ง -U "user:pass" แยกต่างหากแทนการใส่รวมไว้ใน URL ซึ่งจะช่วยเลี่ยงปัญหาเรื่องอักขระพิเศษได้
  • Python requests: กำหนดค่า http://user:pass@host:port ให้กับทั้งคีย์ http และ https ในดิกชันนารี proxies และเข้ารหัสรหัสผ่านที่มีอักขระพิเศษด้วย urllib.parse.quote

ข้อมูลเข้าสู่ระบบถูกต้องแต่ยังติด 407

ขั้นตอนถัดไปคือการตรวจสอบโปรโตคอล VinaProxy จำหน่ายพร็อกซี HTTP(S) ที่ล็อกอินด้วย user:pass และมี SOCKS5 ด้วยเช่นกัน ดังนั้นให้เลือกโปรโตคอลให้ตรงกับที่ระบุในคำสั่งซื้อบนแดชบอร์ด หากตัวตรวจสอบแจ้งว่า not socks5 แสดงว่าพอร์ตนั้นใช้งาน HTTP และไม่ควรตั้งค่าเป็น SOCKS5

ขั้นตอนทีละขั้น

  1. 1

    คัดลอกบรรทัดพร็อกซีจากแดชบอร์ด

    เปิดคำสั่งซื้อในแดชบอร์ด VinaProxy ของคุณ แล้วคัดลอกข้อความทั้งบรรทัดแทนการพิมพ์เอง

  2. 2

    ตรวจสอบผ่านเครื่องมือตรวจพร็อกซี

    วางข้อความลงใน เครื่องมือตรวจสอบพร็อกซี หากผลลัพธ์ขึ้น auth failed (407) แสดงว่าเป็นปัญหาเรื่องข้อมูลเข้าสู่ระบบ ไม่ใช่ปัญหาเครือข่าย

  3. 3

    กรอกชื่อผู้ใช้และรหัสผ่านใหม่อีกครั้งให้ถูกต้อง

    ล้างข้อมูลทั้งสองช่องในซอฟต์แวร์ของคุณให้ว่าง แล้ววางใหม่อีกครั้งโดยไม่ให้มีเว้นวรรคด้านหน้าหรือด้านหลัง

  4. 4

    เลือกโปรโตคอลให้ตรงกับคำสั่งซื้อ

    ตั้งค่าประเภทพร็อกซีเป็น HTTP หรือ SOCKS5 ให้ตรงกับที่ระบุไว้ในคำสั่งซื้อทุกประการ แล้วกดบันทึก

  5. 5

    ตรวจสอบด้วย curl -v หากยังพบปัญหา

    รันคำสั่ง curl -v พร้อมค่าจริงของคุณ แล้วมองหาบรรทัด Proxy-Authorization ก่อนที่จะเกิด 407

คำถามที่พบบ่อย

ข้อผิดพลาด 407 เกิดจากผู้ให้บริการอินเทอร์เน็ต (ISP) บล็อกพร็อกซีหรือไม่?

ไม่ใช่ ข้อผิดพลาด 407 ส่งมาจากตัวพร็อกซีเอง แสดงว่าการเชื่อมต่อไปถึงปลายทางแล้ว หากเส้นทางถูกบล็อกจะแสดงเป็นหมดเวลาการเชื่อมต่อ (timeout) หรือปฏิเสธการเชื่อมต่อแทน ดูเพิ่มเติมที่ พร็อกซีหมดเวลาเชื่อมต่อ

ทำไม Chrome ถึงถามข้อมูลล็อกอินพร็อกซีซ้ำๆ?

การใส่ข้อมูลผิดในแต่ละครั้งจะได้รับ 407 กลับมาอีก และทำให้ Chrome ถามซ้ำ ให้ตรวจสอบปุ่ม Caps Lock และตรวจสอบว่าระบบป้อนข้อความภาษาเวียดนามหรือภาษาอื่นๆ ไม่ได้ใส่เครื่องหมายวรรณยุกต์ลงไปในรหัสผ่าน

จะใส่รหัสผ่านที่มีเครื่องหมาย @ ลงใน URL ของพร็อกซีได้อย่างไร?

แปลงเป็นรหัส (encode): @ เป็น %40, : เป็น %3A, # เป็น %23 หากใช้ curl ออปชัน -U จะช่วยเลี่ยงการแปลงรหัสได้ทั้งหมด

Selenium หรือ Puppeteer แสดงข้อผิดพลาด tunnel แทนที่จะเป็น 407 เป็นปัญหาเดียวกันหรือไม่?

ส่วนใหญ่คือปัญหาเดียวกัน Headless Chrome ไม่สามารถแสดงหน้าต่างล็อกอินได้ ข้อผิดพลาด 407 จึงปรากฏเป็น ERR_TUNNEL_CONNECTION_FAILED ให้ระบุข้อมูลเข้าสู่ระบบผ่านกลไกการยืนยันตัวตนของไลบรารี ตามตัวอย่างใน คู่มือ Selenium

ไพรเวตพร็อกซีพร้อมข้อมูลเข้าสู่ระบบที่ชัดเจน

ทุกคำสั่งซื้อของ VinaProxy มาพร้อมบรรทัด ip:port:user:pass ที่พร้อมใช้งาน คัดลอกครั้งเดียวแล้วนำไปวางได้ทันทีทุกที่

ดูราคาพร็อกซี

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

ข้อผิดพลาดของพร็อกซี
วิธีแก้ไข ERR_TUNNEL_CONNECTION_FAILED เมื่อใช้งานผ่านพร็อกซี
ERR_TUNNEL_CONNECTION_FAILED หมายถึง Chrome เชื่อมต่อไปยังพร็อกซีได้แต่ไม่สามารถเปิดอุโมงค์ HTTPS ได้ ดูวิธีตรวจสอบโค้ด CONNECT และวิธีแก้ไขใน Chrome, Puppeteer, Android
เครื่องมือฟรี
เช็กพร็อกซี: ตรวจสอบพร็อกซีของคุณออนไลน์
เครื่องมือเช็กพร็อกซีฟรี: วางพร็อกซีได้สูงสุด 100 ตัวในรูปแบบ ip:port:user:pass แล้วตรวจสอบสถานะ IP ขาออก และความหน่วงออนไลน์ พร้อมคำอธิบายข้อผิดพลาดแต่ละแบบ
วิธีตั้งค่าพร็อกซี
คู่มือการกำหนดค่า Proxy ใน Google Chrome
กำหนดค่า VinaProxy HTTP(S) บน Google Chrome โดยไม่ต้องเปลี่ยน IP ของระบบปฏิบัติการทั้งเครื่อง โดยใช้ส่วนขยาย Chrome, แฟล็ก --proxy-server หรือโปรไฟล์แยกต่างหาก
วิธีตั้งค่าพร็อกซี
วิธีใช้งานพร็อกซีใน cURL (ไวยากรณ์คำสั่งและการตรวจสอบข้อผิดพลาด)
วิธีใช้งาน curl ร่วมกับ HTTP(S) proxy ที่ต้องยืนยันตัวตน (-x http://user:pass@ip:port และ -U) บน Linux, macOS และ Windows
วิธีตั้งค่าพร็อกซี
วิธีใช้พร็อกซีใน Python Requests (HTTP/HTTPS และการรวม Session Pooling)
วิธีกำหนดค่าพร็อกซี HTTP(S) ที่มีรหัสผ่านใน Python requests และ requests.Session() วิธีแก้ปัญหา 407 ProxyError และการหมุนเวียนพูล IP นิ่ง
วิธีตั้งค่าพร็อกซี
วิธีตั้งค่าพร็อกซีใน GoLogin (เบราว์เซอร์ Orbita)
คู่มือทีละขั้นตอนในการเพิ่มพร็อกซี HTTP ip:port:user:pass ใน GoLogin กำหนดค่า WebRTC โซนเวลาใน Orbita และการวางพร็อกซีจำนวนมาก
วิธีตั้งค่าพร็อกซี
วิธีกำหนดค่าพร็อกซีบน Windows 10 & Windows 11
กำหนดค่าพร็อกซี HTTP(S) ของ VinaProxy บน Windows 10 และ Windows 11 โดยใช้การตั้งค่าระบบ WinINET, ตัวแปรสภาพแวดล้อม PowerShell หรือ netsh winhttp
วิธีตั้งค่าพร็อกซี
วิธีตั้งค่าพร็อกซีใน GenLogin (โปรไฟล์เดี่ยวและการนำเข้าจำนวนมาก)
กำหนดค่าพร็อกซี HTTP ip:port:user:pass ในเบราว์เซอร์กันตรวจจับ GenLogin ซิงค์โซนเวลา WebRTC และแก้ปัญหาการเชื่อมต่อโปรไฟล์