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 407 Proxy Authentication Required: Nguyên nhân và cách sửa

Tìm nguyên nhân lỗi 407 khi dùng Proxy HTTP, từ sai tài khoản, whitelist IP và định dạng cấu hình đến ứng dụng không hỗ trợ xác thực.

Lỗi 407 Proxy Authentication Required: Nguyên nhân và cách sửa
NỘI DUNG BÀI VIẾTHướng dẫn chi tiết từ ProxySmart

Lỗi 407 Proxy Authentication Required có nghĩa là máy chủ Proxy nhận được yêu cầu nhưng chưa chấp nhận thông tin xác thực. Đây khác với lỗi 401 của website đích: mã 407 đến từ lớp Proxy, trước khi yêu cầu được chuyển tiếp thành công tới website.

Không chia sẻ mật khẩu thật: khi chụp màn hình hoặc gửi log hỗ trợ, hãy che host, username, password, token và IP whitelist.

Lỗi 407 xảy ra ở đâu?

Với HTTP Proxy, ứng dụng có thể gửi tiêu đề xác thực sau khi Proxy yêu cầu. Nếu thông tin thiếu, sai hoặc phương thức không được hỗ trợ, Proxy trả 407. Trình duyệt có thể mở hộp thoại nhập tài khoản; công cụ dòng lệnh thường hiển thị trực tiếp mã trạng thái.

SOCKS5 dùng cơ chế thương lượng xác thực riêng, vì vậy không nhất thiết trả mã HTTP 407. Nếu bạn thấy 407, nhiều khả năng ứng dụng đang giao tiếp với HTTP Proxy hoặc một cổng trung gian HTTP.

Nguyên nhân phổ biến

  • Sai username hoặc password, có khoảng trắng thừa khi sao chép.
  • Gói Proxy hết hạn, tài khoản bị khóa hoặc hết lưu lượng.
  • Đang dùng sai host, port hoặc giao thức.
  • Tài khoản yêu cầu whitelist IP nhưng IP hiện tại chưa được thêm.
  • Ứng dụng không hỗ trợ xác thực Proxy hoặc không gửi lại thông tin sau phản hồi 407.
  • Mật khẩu có ký tự đặc biệt nhưng được đặt trực tiếp trong URL mà chưa mã hóa đúng.
  • Thông tin đăng nhập cũ còn trong trình duyệt, hệ điều hành hoặc tiện ích.

Bước 1: Kiểm tra trạng thái gói

  1. Đăng nhập bảng điều khiển nhà cung cấp.
  2. Xác nhận gói còn hạn, còn lưu lượng và Proxy đang hoạt động.
  3. Sao chép lại đúng host, port, username và password từ nguồn chính thức.
  4. Kiểm tra có giới hạn số kết nối hoặc quốc gia cho tài khoản hay không.

Nếu vừa đổi mật khẩu, hãy cập nhật ở tất cả ứng dụng và xóa thông tin cũ. Đừng thử liên tục với mật khẩu sai vì một số hệ thống có thể tạm khóa để bảo vệ tài khoản.

Bước 2: Xác định đúng giao thức và cổng

Một host có thể cung cấp nhiều cổng: HTTP, HTTPS CONNECT hoặc SOCKS5. Dùng HTTP client với cổng SOCKS5, hoặc ngược lại, thường tạo lỗi khó hiểu. Hãy đối chiếu tài liệu gói và xem phân biệt HTTP, HTTPS và SOCKS5.

Dữ liệu góiCấu hình nên thử
HTTP Proxyhttp://HOST:PORT
SOCKS5 Proxysocks5h://HOST:PORT
Whitelist IPKhông nhất thiết dùng username/password

Bước 3: Kiểm tra độc lập bằng curl

Dùng dữ liệu mẫu, không dán mật khẩu thật vào nơi công cộng:

curl -v --proxy http://HOST:PORT --proxy-user "USERNAME:PASSWORD" https://api.ipify.org

Nếu lệnh trả IP Proxy, tài khoản và cổng hoạt động; lỗi nằm ở cấu hình ứng dụng. Nếu vẫn 407, kiểm tra lại thông tin gói, whitelist và định dạng. Tùy hệ thống, log chi tiết có thể cho biết Proxy yêu cầu phương thức xác thực nào.

Ký tự đặc biệt trong mật khẩu

Định dạng http://user:password@host:port dễ lỗi khi mật khẩu chứa @, :, /, # hoặc %. Các ký tự này có ý nghĩa trong URL và cần percent-encoding. Cách an toàn hơn là dùng trường username/password riêng của ứng dụng hoặc tùy chọn --proxy-user của curl.

Không ghi mật khẩu vào script được chia sẻ hoặc lịch sử lệnh trên máy dùng chung. Có thể dùng biến môi trường hoặc trình quản lý bí mật phù hợp, nhưng cần tránh in giá trị ra log.

Whitelist IP bị sai

Một số gói cho phép xác thực bằng IP nguồn. Nếu nhà mạng đổi IP công khai, whitelist cũ sẽ không còn đúng. Hãy kiểm tra IP công khai hiện tại khi chưa qua Proxy, sau đó cập nhật danh sách trong bảng điều khiển theo hướng dẫn nhà cung cấp.

  • Không whitelist dải quá rộng nếu không cần.
  • Không đưa IP nội bộ 192.168.x.x hoặc 10.x.x.x khi hệ thống yêu cầu IP công khai.
  • Nếu đang dùng VPN, IP nguồn mà Proxy nhìn thấy có thể là IP thoát VPN.
  • Chờ thời gian đồng bộ nếu bảng điều khiển có thông báo thay đổi chưa áp dụng ngay.

Lỗi 407 trong trình duyệt

Trình duyệt có thể kế thừa Proxy từ hệ điều hành hoặc tiện ích. Hãy kiểm tra chỉ có một lớp cấu hình đang hoạt động. Nếu hộp thoại đăng nhập lặp lại, xóa thông tin đăng nhập Proxy đã lưu, đóng toàn bộ trình duyệt rồi thử lại trong hồ sơ kiểm thử.

Một số trình duyệt hoặc tiện ích không hỗ trợ gửi thông tin xác thực cho tất cả kiểu Proxy. Thử curl giúp xác định tài khoản có hoạt động hay không trước khi thay đổi nhiều thiết lập.

Lỗi 407 trong ứng dụng và mã nguồn

Ứng dụng cần truyền cả URL Proxy và thông tin xác thực đúng cách. Kiểm tra tài liệu của thư viện: biến môi trường, session, request riêng lẻ và HTTPS tunneling có thể dùng cấu hình khác nhau. Không vô hiệu hóa kiểm tra chứng chỉ TLS để “sửa” 407; hai vấn đề không liên quan và việc đó làm giảm bảo mật.

Bảng chẩn đoán nhanh

Hiện tượngKhả năngCách xử lý
Curl cũng trả 407Sai tài khoản, cổng, whitelist hoặc gói hết hạnĐối chiếu bảng điều khiển
Curl đúng, trình duyệt saiTrình duyệt không gửi xác thực hoặc còn cacheXóa thông tin cũ, kiểm tra tiện ích
Chỉ lỗi khi dùng URL có mật khẩuKý tự đặc biệt chưa mã hóaDùng trường xác thực riêng
Hôm qua dùng được, hôm nay 407IP whitelist thay đổi hoặc gói hết hạnKiểm tra IP nguồn và thời hạn
Nhiều lần đăng nhập liên tiếpThông tin cũ hoặc phương thức không hỗ trợThử curl và đọc phương thức xác thực

Những cách không nên làm

  • Không tắt TLS hoặc bỏ kiểm tra chứng chỉ.
  • Không đăng username/password lên diễn đàn để nhờ kiểm tra.
  • Không thay đổi ngẫu nhiên nhiều cổng cùng lúc mà không ghi lại.
  • Không dùng công cụ bẻ khóa hoặc thử mật khẩu tự động.
  • Không tiếp tục gửi tải lớn khi tài khoản đang báo lỗi xác thực.

Checklist trước khi liên hệ hỗ trợ

  • Mã đơn hàng hoặc tên gói, không gửi mật khẩu.
  • Thời gian lỗi và múi giờ.
  • Host, port và giao thức đã che bớt phần nhạy cảm.
  • Kết quả curl đã loại bỏ dòng chứa thông tin đăng nhập.
  • IP nguồn nếu dùng whitelist.
  • Tên ứng dụng, hệ điều hành và ảnh chụp đã che dữ liệu.

Kết luận

Lỗi 407 cho biết Proxy chưa chấp nhận xác thực. Hãy kiểm tra theo thứ tự: trạng thái gói, giao thức và cổng, username/password, whitelist IP, ký tự đặc biệt và khả năng của ứng dụng. Dùng curl làm phép thử độc lập giúp tách lỗi tài khoản khỏi lỗi cấu hình. Luôn bảo vệ thông tin đăng nhập và không dùng biện pháp làm suy yếu TLS để xử lý một lỗi xác thực Proxy.