Vì sao Chrome cứ hỏi tên người dùng và mật khẩu proxy
Mục lục

Tóm lại: Chrome hiện hộp thoại đăng nhập proxy khi một proxy trả lời bằng trạng thái 407, Proxy Authentication Required. Chrome không lấy thông tin xác thực từ thiết lập proxy hay cờ khởi chạy của nó, nên bạn phải gõ vào hộp thoại hoặc để một tiện ích cung cấp. Hộp thoại quay lại sau khi bạn đã đăng nhập thường có nghĩa là proxy đã từ chối thứ bạn gửi. Một proxy SOCKS5 cần mật khẩu không thể hoạt động trong Chrome, vì Chrome không triển khai xác thực SOCKS5.
Chrome cứ hỏi tên người dùng và mật khẩu proxy khi proxy đòi đăng nhập mà Chrome không có cách nào khác để trả lời. Có bốn tình huống đứng sau rắc rối này, và ba trong số đó có cách khắc phục ngay trong Chrome. Tình huống thứ tư, một proxy SOCKS5 có mật khẩu, cần một thay đổi ở phía proxy hoặc một trình duyệt khác.
Hộp thoại đăng nhập proxy có nghĩa là gì?
Proxy từ chối chuyển tiếp yêu cầu của bạn cho đến khi bạn đăng nhập. Theo cách nói của HTTP, nó đã trả lời bằng trạng thái 407, Proxy Authentication Required, mà RFC 9110 mô tả là “client cần tự xác thực để dùng proxy cho yêu cầu này”. Proxy nêu các phương thức đăng nhập nó chấp nhận, và trình duyệt có thể gửi lại yêu cầu kèm thông tin xác thực.
Chrome thu thập thông tin đó trong một hộp thoại có tiêu đề “Sign in” (đăng
nhập). Nội dung của nó, trong
chuỗi hộp thoại của Chromium,
là “The proxy $1 requires a username and password.” (proxy $1 yêu cầu tên người
dùng và mật khẩu), với địa chỉ của proxy ở vị trí $1. Với proxy HTTP, Chrome
hỗ trợ các phương thức Basic, Digest, Negotiate và NTLM, được liệt kê trong
ghi chú về proxy của Chromium.
Vì sao Chrome cứ hỏi mật khẩu proxy?
Thường gặp nhất là proxy đã từ chối thông tin xác thực và trả lời bằng một mã 407 mới, nên Chrome hỏi lại. Mật khẩu sai, tên người dùng được sao chép kèm một khoảng trắng ở cuối, hay một tài khoản bị nhà cung cấp tạm khóa đều trông giống nhau từ phía trình duyệt.
Hộp thoại cũng quay lại khi mật khẩu nằm ở chỗ Chrome không đọc, chẳng hạn thiết lập proxy, và khi một tiện ích lưu mật khẩu chưa được cấp quyền trả lời. Một proxy SOCKS5 có mật khẩu hoạt động khác: Chrome không hiện hộp thoại nào cho nó, và kết nối thất bại. Bảng “Tìm trường hợp của bạn” liệt kê cả bốn tình huống cùng việc cần làm với từng tình huống.
Vì sao mật khẩu trong thiết lập proxy bị bỏ qua?
Chrome không đọc thông tin xác thực ghi trong thiết lập proxy. Nhiều hệ thống
cho bạn nhập tên người dùng và mật khẩu ở đó, hoặc ghi chúng vào địa chỉ dưới
dạng user:password@host:port, và
ghi chú về proxy của Chromium
nói rõ: “Chrome không triển khai điều này, và sẽ không dùng bất kỳ thông tin xác
thực nào được nhúng trong thiết lập proxy.” Việc xác thực đi qua luồng đăng
nhập thông thường, và với hầu hết mọi người luồng đó là hộp thoại.
Một proxy được đặt bằng cờ khởi chạy --proxy-server là thêm một cách nhập
thiết lập thủ công, nên mật khẩu ghi trong cờ đó cũng không có tác dụng.
Một tiện ích có thể trả lời hộp thoại thay bạn thế nào?
Chrome cho phép một tiện ích trả lời yêu cầu đăng nhập của proxy trước khi hộp
thoại xuất hiện.
API webRequest
phát ra sự kiện onAuthRequired có cờ isProxy mang giá trị true khi người hỏi
là một proxy, và một tiện ích có quyền webRequestAuthProvider có thể trả lời
bằng tên người dùng và mật khẩu.
Tiện ích miễn phí ProxyJam Connector của chúng tôi dùng sự kiện này. Bạn lưu tên người dùng và mật khẩu trong từng hồ sơ proxy, và tiện ích trả lời cho proxy đã lưu có host và cổng khớp với proxy đang hỏi.
- Trên Chrome, tiện ích trả lời sau khi bạn cấp quyền truy cập mạng trên trang Settings của nó; trước đó hộp thoại của chính trình duyệt vẫn xuất hiện như thường.
- Khi proxy từ chối thông tin xác thực hai lần cho cùng một yêu cầu, Connector ngừng thử lại và huy hiệu trên thanh công cụ hiển thị AUTH.
- Tiện ích trả lời cho proxy HTTP và HTTPS. Một hồ sơ SOCKS5 có tên người dùng và mật khẩu sẽ nhận cảnh báo, vì Chrome không dùng được chúng.
Chrome có dùng được proxy SOCKS5 có mật khẩu không?
Không. Ghi chú về proxy của Chromium nêu rằng “Chrome không hỗ trợ phương thức xác thực nào cho SOCKSv5 (dù giao thức có một số phương thức như vậy)”, và cũng không có cho SOCKS4. Client SOCKS5 của Chrome chỉ đưa cho proxy phương thức không cần thông tin xác thực, nên một proxy nhất quyết đòi mật khẩu sẽ từ chối kết nối. API tiện ích không có sự kiện nào cho đăng nhập SOCKS để tiện ích có thể trả lời.
Những gì hoạt động được:
- Đăng ký địa chỉ của bạn với nhà cung cấp. Một số nhà cung cấp proxy có thể chấp nhận kết nối từ một danh sách địa chỉ IP bạn đưa cho họ, không cần mật khẩu.
- Dùng endpoint HTTP của nhà cung cấp. Nếu cùng proxy đó cũng nhận kết nối HTTP, Chrome có thể đăng nhập vào nó qua hộp thoại hoặc một tiện ích.
- Dùng Firefox cho proxy đó. API tiện ích của Firefox truyền tên người dùng và mật khẩu cho proxy SOCKS (tài liệu tham khảo ProxyInfo của MDN). Bản Connector cho Firefox dùng nó, và có thể cài từ Firefox Add-ons.
Tiếp theo nên đi đâu?
Nếu bạn chuyển qua lại giữa nhiều proxy cần mật khẩu, một tiện ích lưu thông tin xác thực của từng proxy sẽ trả lời cho chúng trên HTTP và HTTPS, và trang tiện ích liệt kê những gì Connector làm trên Chrome. Để chỉ gửi một số trang qua một proxy như vậy, xem chỉ gửi một số trang qua proxy. Các quy tắc tiện ích đã thay đổi với mọi trình chuyển đổi có trong những gì Manifest V3 đã thay đổi với tiện ích proxy.
Nếu bạn đang chọn proxy cho Connector, hãy đọc proxy ISP là gì: ProxyJam bán proxy dân cư tĩnh (ISP) trên trang proxy ISP, với giá trên trang bảng giá.
