Lỗi 502 Bad Gateway proxy: xác định ai đang trả lỗi

Cập nhật:

502 Bad Gateway có nghĩa là một máy đứng giữa, ở đây có thể là proxy của bạn hoặc máy chủ trung gian của chính website, đã chuyển yêu cầu đi nhưng không nhận lại được câu trả lời hợp lệ. Cùng một con số nhưng có hai thủ phạm rất khác nhau, nên trước khi sửa hãy xác định ai đang trả 502.

IP riêng, không chia sẻ với người lạ

Proxy trả 502 trông như thế nào

Chúng tôi cho proxy thử nghiệm trả 502 và ghi lại phản hồi, viết lại với 203.0.113.10:8080 và user123:pass456:

  • Trang HTTPS: curl -x http://user123:[email protected]:8080 https://example.com in ra curl: (56) CONNECT tunnel failed, response 502.
  • Trang HTTP thường: curl nhận về mã trạng thái 502.
  • Chrome mở trang HTTPS qua proxy đó báo ERR_TUNNEL_CONNECTION_FAILED, không hiện trang 502 nào.
  • Công cụ check proxy hiện HTTP 502; mã khác cũng hiện theo dạng HTTP <mã>.

Mẹo phân biệt: thấy trang 502 trên website HTTPS

Với website HTTPS, proxy chỉ mở đường hầm; nó không thể chèn trang của mình vào bên trong kết nối đã mã hoá. Nếu proxy từ chối, Chrome báo ERR_TUNNEL_CONNECTION_FAILED. Vì vậy, khi bạn thấy hẳn một trang "502 Bad Gateway" hiển thị trên địa chỉ https://, trang đó gần như chắc chắn đến từ máy chủ của website, không phải từ proxy.

Kiểm tra lại bằng cách tắt proxy và mở cùng trang. Vẫn 502 thì website đang có sự cố, bạn chỉ cần chờ hoặc báo cho chủ website.

Khi proxy đúng là bên trả 502

  • Website đích không phản hồi cho proxy. Website sập, quá tải, hoặc từ chối kết nối từ dải IP của proxy.
  • Tên miền gõ sai hoặc không phân giải được. Proxy không tìm được địa chỉ của website nên không có gì để chuyển tiếp.
  • Port đích không mở. Kết nối tới một port mà website không phục vụ.
  • Sự cố tạm thời ở phía proxy. Hiếm hơn; nhận ra khi mọi website đều 502 qua cùng một proxy nhưng chạy được qua proxy khác.

Cách xử lý theo môi trường

  • Chrome hoặc antidetect: mở một trang lớn khác qua cùng profile. Trang khác chạy được thì proxy ổn, vấn đề ở website ban đầu.
  • Điện thoại: tắt proxy Wi-Fi, thử lại trang trên 4G để xem website có lỗi với mọi người không.
  • curl: thêm -v để thấy dòng 502 trả về ngay sau CONNECT; thử cùng lệnh với tên miền khác để khoanh vùng.
  • Python requests: với trang HTTP, kiểm tra response.status_code == 502 và thử lại sau vài giây; với trang HTTPS, lỗi tunnel được ném ra thành requests.exceptions.ProxyError. Đừng lặp lại liên tục, hãy giãn thời gian giữa các lần thử.

Các bước thực hiện

  1. 1

    Xem trang 502 hiện ở đâu

    Trang 502 hiện trên địa chỉ https thì khả năng cao do website. Chrome báo lỗi tunnel thì xem tiếp phía proxy.

  2. 2

    Tắt proxy và mở lại trang

    Vẫn 502 khi không có proxy nghĩa là website đang lỗi.

  3. 3

    Mở trang khác qua cùng proxy

    Trang khác chạy bình thường thì proxy ổn; chỉ website ban đầu từ chối hoặc đang sập.

  4. 4

    Kiểm tra proxy bằng checker

    Dán dòng proxy vào công cụ check proxy. Mọi trang đều HTTP 502 thì gửi ticket kèm kết quả.

Câu hỏi thường gặp

502 Bad Gateway có phải proxy đã hết hạn?

Thường là không. Proxy hết hạn hoặc ngừng chạy hay cho lỗi kết nối hoặc timeout, xem proxy timeout.

Vì sao chỉ một website báo 502 qua proxy?

Website đó có thể đang lỗi hoặc không phản hồi kết nối từ IP của proxy. Thử lại sau, hoặc dùng IP ở nước khác.

502 và 504 khác nhau thế nào?

502 là nhận về câu trả lời không hợp lệ hoặc không lấy được câu trả lời; 504 là máy trung gian chờ quá lâu. Checker hiển thị cả hai theo dạng HTTP <mã>.

Scraper của tôi thỉnh thoảng nhận 502, có cần đổi proxy?

Lỗi rải rác thường do website đích quá tải. Giảm tốc độ gửi và thêm thử lại có khoảng nghỉ trước khi đổi proxy, xem proxy cho web scraping.

IP riêng, không chia sẻ với người lạ

Proxy riêng của VinaProxy giúp tránh tình trạng một IP bị website chặn vì người khác dùng chung.

Xem bảng giá

Bài viết liên quan

Lỗi proxy
Lỗi ERR_TUNNEL_CONNECTION_FAILED khi dùng proxy
ERR_TUNNEL_CONNECTION_FAILED nghĩa là Chrome đã tới proxy nhưng không mở được đường hầm HTTPS. Cách đọc mã CONNECT, sửa trên Chrome, Puppeteer, Android.
Lỗi proxy
Lỗi proxy timeout: kết nối treo rồi hết thời gian chờ
Proxy timeout là khi kết nối tới proxy không có phản hồi trong thời gian chờ. Phân biệt curl (28), ERR_TIMED_OUT, chỉnh timeout cho Python và tìm chỗ bị chặn.
Công cụ miễn phí
Check proxy live/die: kiểm tra proxy sống hay chết
Công cụ check proxy online miễn phí: dán tối đa 100 proxy dạng ip:port:user:pass để xem sống hay chết, IP ra và độ trễ. Hiểu rõ từng loại lỗi.
Cài đặt proxy
Cách sử dụng proxy HTTP(S) với câu lệnh cURL trên Terminal
Hướng dẫn cú pháp lệnh curl -x http://user:pass@ip:port và cờ -U trên Linux, macOS, Windows để kiểm tra proxy, xem HTTP header và đo ping.
Proxy theo nền tảng
Proxy cho Web Scraping: cào dữ liệu tốc độ cao, không giới hạn băng thông
Mua proxy IPv4 riêng và ISP tĩnh tốc độ cao cho Python, Playwright, Selenium và Scrapy. Cào dữ liệu giá TMĐT, tin tức và API ổn định 24/7.
Cài đặt proxy
Hướng dẫn cài đặt Proxy trên trình duyệt Google Chrome
Hướng dẫn cấu hình proxy HTTP(S) VinaProxy riêng cho trình duyệt Google Chrome hoặc từng Profile Chrome mà không làm đổi IP toàn máy tính.
Cài đặt proxy
Hướng dẫn cấu hình Proxy trên Windows 10 & Windows 11
Hướng dẫn cấu hình proxy HTTP(S) VinaProxy trên Windows 10 và Windows 11 qua System Settings, Credential Manager và PowerShell.
Cài đặt proxy
Cách cài proxy vào GenLogin chuẩn từng bước cho dân MMO
Hướng dẫn cấu hình proxy HTTP ip:port:user:pass vào trình duyệt antidetect GenLogin. Đồng bộ múi giờ, WebRTC và xử lý lỗi kết nối.