ข้อผิดพลาดพร็อกซี 502 Bad Gateway: วิธีตรวจสอบว่าต้นทางมาจากไหน
อัปเดตเมื่อ:
502 Bad Gateway หมายความว่าเซิร์ฟเวอร์ตัวกลาง ซึ่งอาจเป็นพร็อกซีของคุณหรือเซิร์ฟเวอร์ Front-end ของเว็บไซต์เอง ส่งต่อคำขอไปแล้วแต่ไม่ได้รับคำตอบที่ถูกต้องกลับมา ตัวเลขรหัสเดียวกันแต่ต้นตอต่างกันโดยสิ้นเชิง ดังนั้นก่อนเริ่มแก้ไขปัญหา ควรระบุให้ชัดเจนก่อนว่าฝั่งใดเป็นผู้ส่งรหัส 502
ลักษณะของรหัส 502 ที่ส่งมาจากพร็อกซี
เราได้ทดสอบให้พร็อกซีตอบกลับด้วย 502 และบันทึกการตอบสนองเอาไว้ โดยจำลองเป็น 203.0.113.10:8080 และ user123:pass456:
- เว็บไซต์ HTTPS:
curl -x http://user123:[email protected]:8080 https://example.comจะแสดงข้อความcurl: (56) CONNECT tunnel failed, response 502 - เว็บไซต์ HTTP ทั่วไป: curl จะได้รับสถานะ
502 - เมื่อเปิดหน้า HTTPS ใน Chrome ผ่านพร็อกซีดังกล่าว จะแจ้งเตือน
ERR_TUNNEL_CONNECTION_FAILEDและไม่แสดงหน้าข้อผิดพลาด 502 แต่อย่างใด - เครื่องมือตรวจสอบพร็อกซี จะแสดง
HTTP 502ส่วนรหัสอื่นๆ จะแสดงในรูปแบบHTTP <code>เช่นเดียวกัน
จุดสังเกต: หน้า 502 บนเว็บไซต์ HTTPS
สำหรับเว็บไซต์ HTTPS พร็อกซีทำหน้าที่เพียงเปิดอุโมงค์เชื่อมต่อ (Tunnel) เท่านั้น และไม่สามารถแทรกหน้าเว็บของตัวเองเข้าไปในการเชื่อมต่อที่เข้ารหัสได้ หากพร็อกซีปฏิเสธการเชื่อมต่อ Chrome จะรายงานข้อผิดพลาด ERR_TUNNEL_CONNECTION_FAILED ดังนั้น เมื่อคุณเห็นหน้าเว็บ "502 Bad Gateway" เต็มหน้าบนที่อยู่ https:// จึงแทบจะแน่นอนว่ามาจากเซิร์ฟเวอร์ของเว็บไซต์ ไม่ใช่จากพร็อกซี
ยืนยันได้โดยการปิดพร็อกซีแล้วลองโหลดหน้าเดิมอีกครั้ง หากยังคงขึ้น 502 แสดงว่าเว็บไซต์กำลังมีปัญหา ซึ่งคุณทำได้เพียงรอให้ระบบกลับมาใช้งานได้ หรือแจ้งให้เจ้าของเว็บไซต์ทราบ
กรณีที่พร็อกซีเป็นผู้ส่ง 502 จริงๆ
- ปลายทางไม่ตอบรับพร็อกซี เว็บไซต์อาจล่ม ใช้งานหนักเกินไป หรือปฏิเสธการเชื่อมต่อจากช่วง IP ของพร็อกซี
- พิมพ์โดเมนผิดหรือไม่สามารถแปลงโดเมนได้ พร็อกซีไม่พบที่อยู่ของเว็บไซต์ จึงไม่มีปลายทางที่จะส่งต่อคำขอ
- พอร์ตปลายทางปิดอยู่ คำขอถูกส่งไปยังพอร์ตที่เว็บไซต์ไม่ได้เปิดให้บริการ
- ข้อผิดพลาดชั่วคราวฝั่งพร็อกซี พบน้อยกว่า โดยจะสังเกตได้เมื่อทุกเว็บไซต์ขึ้น 502 ผ่านพร็อกซีนี้ แต่สามารถใช้งานได้ปกติผ่านพร็อกซีอื่น
แนวทางแก้ไขในแต่ละสภาพแวดล้อม
- Chrome หรือโปรไฟล์ Antidetect: ลองเปิดเว็บไซต์ขนาดใหญ่อื่นๆ ในโปรไฟล์เดิม หากโหลดได้แสดงว่าพร็อกซีปกติดี และปัญหาอยู่ที่เว็บไซต์เดิม
- โทรศัพท์มือถือ: ปิดพร็อกซีใน Wi-Fi แล้วลองเปิดหน้าเว็บผ่านอินเทอร์เน็ตมือถือ เพื่อดูว่าเว็บไซต์มีปัญหาสำหรับทุกคนหรือไม่
- curl: เพิ่มแฟล็ก
-vเพื่อดูว่า 502 ตอบกลับมาทันทีหลังคำสั่งCONNECTหรือไม่ จากนั้นลองทดสอบกับโดเมนอื่นเพื่อจำกัดขอบเขตปัญหา - Python requests: สำหรับหน้า HTTP ให้ตรวจสอบ
response.status_code == 502แล้วหน่วงเวลาก่อนลองใหม่อีกครั้ง สำหรับหน้า HTTPS กรณีที่สร้างอุโมงค์เชื่อมต่อไม่สำเร็จจะแจ้งเตือนเป็นrequests.exceptions.ProxyErrorควรเว้นระยะห่างในการลองใหม่แทนการส่งคำขอถี่ๆ ไปยังเว็บไซต์
ขั้นตอนทีละขั้น
- 1
สังเกตจุดที่รหัส 502 ปรากฏ
หน้า 502 บนที่อยู่ https บ่งชี้ว่าเกิดจากเว็บไซต์ ส่วนข้อผิดพลาดเกี่ยวกับอุโมงค์เชื่อมต่อใน Chrome บ่งชี้ว่าเกิดจากเส้นทางพร็อกซี
- 2
ปิดพร็อกซีแล้วโหลดหน้าเว็บใหม่อีกครั้ง
หากขึ้น 502 แม้ไม่ได้เปิดพร็อกซี แสดงว่าเป็นปัญหาที่ตัวเว็บไซต์เอง
- 3
ลองเปิดเว็บไซต์อื่นผ่านพร็อกซีเดิม
หากเว็บไซต์อื่นเปิดได้ แสดงว่าพร็อกซีปกติดี มีเพียงเว็บไซต์เดิมที่ปฏิเสธการเชื่อมต่อหรือระบบล่ม
- 4
ตรวจสอบพร็อกซีด้วยเครื่องมือตรวจสอบ
วางข้อมูลพร็อกซีลงใน เครื่องมือตรวจสอบพร็อกซี หากทุกเว็บไซต์ตอบกลับเป็น
HTTP 502ให้เปิดทิกเก็ตแจ้งปัญหาพร้อมแนบผลการตรวจสอบ
คำถามที่พบบ่อย
รหัส 502 หมายความว่าพร็อกซีของฉันหมดอายุหรือไม่?
โดยทั่วไปไม่ใช่ พร็อกซีที่หมดอายุหรือหยุดทำงานมักจะเกิดข้อผิดพลาดในการเชื่อมต่อหรือหมดเวลาเชื่อมต่อ ดูเพิ่มเติมที่ proxy timeout
ทำไมมีเพียงเว็บไซต์เดียวที่ส่งรหัส 502 ผ่านพร็อกซี?
เว็บไซต์นั้นอาจกำลังมีปัญหาหรือไม่ตอบสนองการเชื่อมต่อจาก IP ของพร็อกซี ลองใหม่อีกครั้งในภายหลัง หรือเปลี่ยนไปใช้ IP จากประเทศอื่น
502 กับ 504 ต่างกันอย่างไร?
502 หมายถึงได้รับคำตอบที่ไม่ถูกต้องหรือไม่ได้รับคำตอบ ส่วน 504 หมายถึงเซิร์ฟเวอร์ตัวกลางรอนานเกินไป เครื่องมือตรวจสอบจะแสดงทั้งสองรหัสในรูปแบบ HTTP <code>
โปรแกรม Scraper ได้รับรหัส 502 เป็นระยะ ควรเปลี่ยนพร็อกซีหรือไม่?
การได้รับ 502 เป็นระยะๆ มักเกิดจากเซิร์ฟเวอร์ปลายทางรับโหลดหนักเกินไป ให้ลดความถี่ในการส่งคำขอและเว้นระยะก่อนลองใหม่อีกครั้งก่อนที่จะเปลี่ยนพร็อกซี ดูเพิ่มเติมที่ proxies for web scraping
Private IP ส่วนตัว ไม่แชร์ร่วมกับผู้อื่น
พร็อกซีส่วนตัวจาก VinaProxy ช่วยป้องกันไม่ให้ IP ถูกบล็อกจากการใช้งานของคนอื่น
ดูราคาแพ็กเกจ