Chuyển đến nội dung
Tất cả bài viết
Blog & hướng dẫn/Xử lý lỗi & Bảo mật
Xử lý lỗi & Bảo mật

Lỗi 502, 503 và 504 khi dùng Proxy: Cách phân biệt và kiểm tra

Phân biệt ba lỗi gateway thường gặp, khoanh vùng nơi tạo phản hồi và chuẩn bị thông tin hỗ trợ mà không gửi lại yêu cầu liên tục.

Lỗi 502, 503 và 504 khi dùng Proxy: Cách phân biệt và kiểm tra
NỘI DUNG BÀI VIẾTHướng dẫn chi tiết từ ProxySmart

Ứng dụng mở được trang kiểm tra IP nhưng API lại trả về lỗi 5xx. Thay proxy ngay có thể làm mất dấu nguyên nhân mà vẫn không giải quyết được sự cố. Hãy xác định mã phản hồi và lớp tạo ra nó trước.

Ba mã lỗi nói điều gì?

502 là phản hồi upstream không hợp lệ; 503 là dịch vụ tạm thời không sẵn sàng; 504 là gateway chờ upstream quá lâu. Đây là ba tình huống khác nhau theo RFC 9110. Không mã nào tự chứng minh IP proxy bị chặn.

Khoanh vùng theo phạm vi ảnh hưởng

  1. Ghi URL đã che dữ liệu riêng tư, mã lỗi, thời điểm và tác vụ.
  2. Kiểm tra lỗi chỉ xảy ra ở một tên miền hay nhiều đích độc lập được phép kiểm thử.
  3. Nếu có quyền, so sánh cùng một yêu cầu qua tuyến trực tiếp và proxy; giữ nguyên tài khoản, phương thức và dữ liệu.
  4. Đối chiếu request ID với nhật ký của đội quản trị. Header hoặc hình thức trang lỗi chỉ là gợi ý, không phải bằng chứng chắc chắn về nơi gây lỗi.

Điều tra từng mã

Với 502, đội vận hành nên đối chiếu kết nối gateway–backend và tính hợp lệ của phản hồi. Với 503, kiểm tra trạng thái dịch vụ, bảo trì hoặc tải hệ thống; tôn trọng Retry-After nếu được cung cấp. Với 504, đo thời gian xử lý thực tế và ngân sách timeout ở từng chặng. Tăng timeout trước khi biết tác vụ có hoàn thành hay không có thể chỉ kéo dài thời gian chờ.

Ví dụ minh họa

Một yêu cầu đọc báo cáo trả 504, trong khi endpoint trạng thái vẫn chạy. Đây là tình huống giả định, không phải phép đo ProxySmart. Đội kỹ thuật nên kiểm tra riêng tác vụ báo cáo và nhật ký upstream, thay vì đổi đồng loạt toàn bộ proxy của ứng dụng.

Gửi lại yêu cầu có an toàn không?

Không tự động gửi lại thao tác tạo đơn, thanh toán hoặc ghi dữ liệu khi chưa biết lần đầu đã được xử lý chưa. Nếu API hỗ trợ khóa idempotency, áp dụng theo tài liệu của dịch vụ. Đối với phép thử đọc an toàn, giới hạn số lần thử và có khoảng chờ; dừng nếu tải hệ thống tăng.

Khi nào liên hệ hỗ trợ?

Gửi mã lỗi, phạm vi ảnh hưởng, thời điểm kèm múi giờ và kết quả so sánh đã che thông tin nhạy cảm. Không gửi mật khẩu proxy, Authorization, cookie hay toàn bộ dữ liệu khách hàng. Nếu lỗi xảy ra trước khi có phản hồi HTTP, xem thêm hướng dẫn timeout, refused và reset.