Hướng dẫn Isoline
Proxy theo hồ sơ: DNS, xác thực và các tình huống lỗi
Proxy theo hồ sơ điều khiển tuyến URL, không phải đường hầm toàn thiết bị. Ranh giới thực phụ thuộc loại proxy, nơi phân giải DNS, xác thực, ngoại lệ, tuyến dự phòng và lưu lượng ngoài HTTP.
Hướng dẫn dùng hành vi mạng có tài liệu của Chromium làm mốc. Trình duyệt, sản phẩm khác có thể chọn cách khác; trình quản lý có thể thêm trung gian mạng cục bộ quanh Chromium. Hãy xác minh đúng build bạn vận hành.
Bắt đầu với bốn câu hỏi độc lập
Bản ghi proxy thường có scheme, endpoint, port và đôi khi tham chiếu xác thực. Nó để lại bốn câu hỏi chính sách riêng:
- Cần bao phủ gì: yêu cầu, giao thức trình duyệt nào được gán cho proxy?
- Phân giải tên: thiết bị hay proxy phân giải hostname đích?
- Xác thực: cơ chế nào của máy khách, proxy tương thích và thông tin xác thực lưu ở đâu?
- Khi lỗi: dừng yêu cầu, thử proxy khác hay chuyển kết nối trực tiếp?
Coi tất cả là một công tắc “bật proxy” gây nhiều bất ngờ. Chromium mô tả chọn proxy là phân giải cấp URL: URL tạo danh sách proxy có thứ tự trước khi nhất thiết phải phân giải đích. Ngoại lệ và dự phòng thuộc quyết định đó.
Proxy theo hồ sơ bao phủ gì
Chính sách ProxySettings của Google áp dụng cấp hồ sơ Chrome. Nó chọn chế độ trực tiếp, hệ thống, tự phát hiện, máy chủ cố định hoặc script PAC, với trường ngoại lệ và PAC bắt buộc rõ ràng.
Ranh giới này hẹp hơn VPN hay namespace mạng hệ điều hành. Nó điều khiển yêu cầu do ngữ cảnh mạng trình duyệt xử lý, không tự điều khiển:
- lệnh gọi API của ứng dụng quản lý desktop;
- ứng dụng ngoài tiến trình hoặc bộ cập nhật browser;
- DNS, kiểm tra kết nối hệ điều hành;
- ứng dụng khác mở từ tệp tải về;
- helper native riêng của tiện ích;
- dịch vụ cục bộ đi qua ngoại lệ loopback ngầm; hoặc
- lưu lượng dùng giao thức đường proxy không mang được.
Một số thành phần có hỗ trợ proxy riêng. Cần chỉ rõ và thử riêng. Tuyên bố “lưu lượng hồ sơ dùng proxy này” nên nêu tiến trình, giao thức có trong phạm vi, không ngụ ý toàn thiết bị.
Theo một yêu cầu HTTPS
Điều hướng HTTPS thông thường đi qua nhiều bước.
1. Chọn tuyến
Trình duyệt đánh giá quy tắc cố định, script cấu hình tự động hoặc cài đặt hệ thống. Ngoại lệ khớp có thể chọn trực tiếp. Danh sách có proxy chính rồi lựa chọn thay thế, gồm DIRECT nếu cho phép dự phòng trực tiếp.
Chromium còn có ngoại lệ ngầm cho localhost và địa chỉ link-local. Nó bảo vệ origin cục bộ khỏi cài đặt proxy do bên ngoài kiểm soát, nhưng khiến mô tả “mọi lưu lượng” cần giải thích giới hạn.
2. Phân giải và kết nối proxy
Nếu endpoint là hostname, thiết bị vẫn phải phân giải và kết nối tới nó. DNS đích từ xa không bỏ bước tra cứu ban đầu này. Lỗi ở đây khác trường hợp proxy tới được nhưng không phân giải được đích.
3. Xác thực với proxy
Proxy HTTP cần thông tin xác thực thường trả 407 Proxy Authentication Required cùng yêu cầu xác thực. RFC 9110 định nghĩa trao đổi và các trường Proxy-Authenticate, Proxy-Authorization.
Chromium không dùng tên người dùng, mật khẩu nhúng trong cài đặt proxy thủ công. Tài liệu proxy nói xác thực theo luồng thông thường của trình duyệt. Vì thế trình quản lý cần tích hợp cụ thể cho cơ chế được hỗ trợ, không hứa mọi chuỗi user:password@host đều chạy.
4. Tạo kết nối đích
Với proxy HTTP, Chromium giao phân giải đích cho proxy. Với đích HTTPS, trình duyệt yêu cầu đường hầm CONNECT, rồi thực hiện TLS đầu cuối với đích qua đường hầm.
Proxy vẫn biết hostname đích và metadata kết nối. Nếu chặng máy khách–proxy dùng HTTP thường, yêu cầu CONNECT và hostname không được bảo vệ trên chặng đó. Proxy HTTPS thêm TLS giữa browser và proxy, che metadata khỏi người quan sát ở giữa. Nó không làm chính proxy không thấy đích yêu cầu.
Proxy thông thường không đọc được nội dung HTTPS bên trong đường hầm. Can thiệp TLS là mô hình tin cậy khác, trong đó máy khách tin một cơ quan chứng chỉ cho phép trung gian kết thúc và tạo lại TLS. Không được âm thầm đánh đồng với chuyển tiếp thông thường.
Nơi phân giải DNS thay đổi theo scheme
Hành vi Chromium có tài liệu khác theo loại:
| Tuyến | Nơi phân giải đích trong Chromium | Giới hạn quan trọng |
|---|---|---|
| Trực tiếp hoặc ngoại lệ | Bộ phân giải thiết bị/browser | Lưu lượng đích ra không qua proxy hồ sơ |
| Proxy HTTP | Phía proxy | HTTP thường trên chặng tới proxy làm lộ yêu cầu HTTP; HTTPS dùng CONNECT |
| Proxy HTTPS | Phía proxy | Máy khách phải xác minh chứng chỉ TLS proxy |
| Proxy SOCKS4 | Phía máy khách | Chỉ đích IPv4; Chromium không triển khai dự phòng SOCKS4a |
| Proxy SOCKS5 | Phía proxy | Chromium dùng cho yêu cầu URL TCP và ghi không hỗ trợ xác thực SOCKS5 |
RFC 1928 cho phép yêu cầu SOCKS5 mang tên miền và định nghĩa nhiều mã phương thức xác thực. Khả năng giao thức không bảo đảm máy khách triển khai. Chromium hiện gửi tên đích cho proxy SOCKS5 nhưng nói máy khách tích hợp không hỗ trợ phương thức xác thực proxy. Nhà cung cấp SOCKS5 có tên/mật khẩu vì vậy có thể cần trung gian được hỗ trợ hoặc scheme khác. Xác nhận triển khai browser trước nhận cấu hình.
DNS-over-HTTPS thêm lớp khác. DnsOverHttpsMode phân biệt automatic, có thể quay về DNS không an toàn, với secure, làm phân giải thất bại khi DNS an toàn lỗi. Chính sách này được ghi ở cấp browser, còn ProxySettings ở cấp hồ sơ. Đây là nhắc nhở: chữ “hồ sơ” ở một cài đặt không có nghĩa mọi kiểm soát DNS cùng phạm vi.
Sản phẩm chạy mỗi hồ sơ trong tiến trình browser riêng có thể tạo ranh giới hiệu quả hẹp hơn, nhưng đó là lựa chọn triển khai. Hãy thử. Bằng chứng cần tách:
- phân giải endpoint proxy;
- phân giải đích yêu cầu;
- DNS của yêu cầu trực tiếp hoặc ngoại lệ;
- tra cứu ban đầu, dự phòng DNS an toàn; và
- DNS do thành phần ngoài ngữ cảnh mạng browser hồ sơ thực hiện.
Xác thực vừa là tương thích, vừa là xử lý bí mật
Chromium ghi hỗ trợ Basic, Digest, Negotiate, NTLM cho proxy HTTP. Proxy HTTPS thêm kênh máy khách–proxy được bảo vệ và có thể hỗ trợ chứng chỉ máy khách. Máy khách proxy tích hợp không triển khai xác thực SOCKS4, SOCKS5 dù đặc tả SOCKS5 có các phương thức đó.
Cơ chế tương thích vẫn có thể không an toàn trên kênh sai. RFC 7617 giải thích Basic chỉ mã hóa biểu diễn Base64, cần kênh bảo vệ như TLS. Dùng Basic với proxy HTTP thường làm lộ mật khẩu cho người quan sát được chặng đó.
Trình quản lý nên tách:
- metadata endpoint không bí mật: scheme, host, port, nhãn nhà cung cấp;
- tham chiếu bí mật dịch vụ vòng đời hoặc mạng sử dụng;
- giá trị thông tin xác thực trong kho bảo vệ;
- trạng thái kết nối đã che cho giao diện, audit; và
- chi tiết chẩn đoán chỉ qua luồng hỗ trợ được kiểm soát.
Màn hình thông thường, log, API, bản xuất và đầu ra tự động hóa không cần mật khẩu proxy. Người thao tác thường cần biết xác thực lỗi, cơ chế nào được yêu cầu, endpoint nào liên quan và có chuyển tuyến dự phòng không.
Các lỗi và dấu hiệu
| Lỗi | Biểu hiện có thể gặp | Ranh giới cần kiểm tra |
|---|---|---|
| Sai scheme proxy | Bắt tay TLS/giao thức lỗi | Khai endpoint HTTPS là HTTP hay ngược lại? |
| Không phân giải được hostname proxy | Lỗi trước khi tới proxy | Bộ phân giải nào tra cứu ban đầu? |
| Không tới được port | Hết thời gian hoặc từ chối kết nối | Proxy khác hoặc DIRECT có tiếp theo trong danh sách? |
| Cơ chế xác thực không hỗ trợ | 407 hoặc nhắc đăng nhập lặp lại |
Browser có triển khai cơ chế được yêu cầu? |
| Sai hoặc hết hạn thông tin xác thực | 407 sau gửi |
Có lấy đúng tham chiếu bí mật, che giá trị khỏi đầu ra? |
| Chứng chỉ proxy HTTPS lỗi | Kết nối an toàn bị từ chối | Xác minh chứng chỉ vẫn được giữ? |
| Proxy không phân giải được đích | Lỗi host/đường hầm riêng proxy | Máy khách có tránh thử trực tiếp tới đích? |
CONNECT bị từ chối |
HTTPS tới đích thất bại | Xem từ chối là chính sách, không phải quyền vượt? |
| PAC không có | Chọn proxy bị kẹt hoặc đổi tuyến | PAC bắt buộc hay có thể âm thầm dùng DIRECT? |
| Ngoại lệ quá rộng | Một số site nối trực tiếp | Hiểu host chính xác, subdomain, port, quy tắc ngầm? |
| WebRTC dùng giao diện khác | Đường media khác trang | UDP không qua proxy đã bị tắt theo hồ sơ? |
| Kết nối cũ sống sau thay đổi | Tuyến cũ còn hoạt động tạm | Đã kết thúc kết nối hoặc mở lại hồ sơ? |
| Chẩn đoán quá chi tiết | URL, hostname, bí mật vào tệp hỗ trợ | Dùng chế độ che và thời hạn giữ nào? |
Dự phòng Chromium có lưu trạng thái. Proxy lỗi cấp kết nối có thể bị đánh dấu xấu, chuyển sau các mục khác một thời gian. Nếu có DIRECT, yêu cầu sau có thể ra không qua proxy. Từ chối CONNECT xử lý khác vì có thể là chính sách đích chủ đích, không phải proxy hỏng.
Lỗi PAC cần chú ý riêng. Chromium ghi PAC không khả dụng có thể âm thầm quay về kết nối trực tiếp trừ khi đặt bắt buộc. ProxySettings có ProxyPacMandatory để ngăn chính việc này.
WebRTC và UDP cần quyết định riêng
Trang có thể dùng đường WebRTC khác yêu cầu URL HTTP/HTTPS thường. WebRtcIPHandling mặc định có thể dùng mọi giao diện có sẵn. Chế độ disable_non_proxied_udp giới hạn WebRTC sang TCP trên giao diện công khai, trừ khi proxy đã cấu hình hỗ trợ UDP.
Chính sách có tài liệu cấp hồ sơ nên liên quan proxy hồ sơ, nhưng vẫn là kiểm soát riêng. Nó có thể giảm hiệu năng media hoặc làm hỏng quy trình cần UDP trực tiếp. Chọn, thử đánh đổi rõ ràng. Không khẳng định mọi lưu lượng bị giữ trong proxy chỉ vì tải trang thành công.
Quyết định khi lỗi sẽ chặn hay ưu tiên sẵn sàng
Dự phòng trực tiếp có thể hợp lý cho hồ sơ duyệt chung ưu tiên kết nối. Nó không an toàn nếu quyền, riêng tư hoặc tính hợp lệ bài thử khu vực phụ thuộc đường ra cụ thể.
Chính sách tốt nêu hành vi:
- Proxy bắt buộc: dừng yêu cầu liên quan khi không dùng được tuyến chọn.
- Tập proxy được duyệt: chỉ thử lựa chọn có tên với chính sách tương đương.
- Cho phép trực tiếp dự phòng: hiển thị tuyến đổi và ghi sự kiện không có bí mật.
- Ngoại lệ rõ: ghi loại đích và vì sao cần trực tiếp.
Giao diện cần cho thấy tuyến trước mở và sau lỗi. Âm thầm đổi proxy sang trực tiếp biến lỗi mạng thành lỗi tính đúng đắn: quy trình trông thành công nhưng đi sai đường.
Ma trận xác minh an toàn
Thử với endpoint, vùng DNS bạn sở hữu hoặc được phép kiểm tra. Ghi kết quả dự kiến trước khi chạy.
- Đối chiếu scheme khai báo với kênh truyền thật.
- Xác nhận HTTP, HTTPS, WebSocket và WebRTC cần thiết hoạt động.
- Quan sát địa chỉ ra tại đích kiểm soát được.
- Quan sát bộ phân giải nhận truy vấn đích và bộ phân giải hostname proxy ban đầu.
- Làm hết hạn thông tin xác thực thử, xác nhận không lộ giá trị thô trong giao diện, log, đầu ra tự động hóa.
- Làm proxy thử không tới được, xác nhận kết quả chặn hoặc dự phòng đã cấu hình.
- Từ chối một đích
CONNECTkiểm soát được, xác nhận không chuyển thành truy cập trực tiếp. - Làm PAC thử không khả dụng, xác nhận hành vi bắt buộc.
- Thử ngoại lệ host chính xác, subdomain, cục bộ, link-local, IPv4, IPv6 cần cho quy trình.
- Đổi proxy khi kết nối hoạt động, xác minh lúc tuyến mới có hiệu lực.
- Chỉ ghi chi tiết chẩn đoán cần thiết, rồi kiểm tra lưu giữ, xóa.
Hướng dẫn NetLog Chromium xem log mạng là vấn đề riêng tư, bảo mật. Chế độ che có thể bỏ trường nhạy cảm, còn chế độ chi tiết có thể chứa cookie hoặc header xác thực. Xử lý tệp hỗ trợ theo chế độ ghi thực tế, không theo tên tệp.
Về hướng dẫn này
- Hỗ trợ AI
- Bài viết được dịch từ bản tiếng Anh với sự hỗ trợ của AI. Isoline chịu trách nhiệm về nội dung xuất bản. Chưa có ghi nhận rà soát bởi người thông thạo tiếng Việt.
Nguồn
Các nguồn hỗ trợ những chủ đề được liệt kê bên dưới. Ngày truy cập cho biết khi nào tài liệu được trích đã được kiểm tra.
- Hỗ trợ proxy Chromium Chromium project
- Chủ đề được hỗ trợ
- Chọn proxy, scheme, nơi phân giải DNS, ngoại lệ, dự phòng và giới hạn triển khai xác thực.
- Ngày truy cập
- Chính sách ProxySettings Chrome Enterprise Google Chrome Enterprise
- Chủ đề được hỗ trợ
- Chế độ proxy theo hồ sơ, cấu hình ngoại lệ và hành vi PAC bắt buộc.
- Ngày truy cập
- Chính sách DnsOverHttpsMode Chrome Enterprise Google Chrome Enterprise
- Chủ đề được hỗ trợ
- Chế độ DNS-over-HTTPS tự động, an toàn và hành vi dự phòng, lỗi.
- Ngày truy cập
- Chính sách WebRtcIPHandling Chrome Enterprise Google Chrome Enterprise
- Chủ đề được hỗ trợ
- Chính sách giao diện WebRTC, chế độ tắt UDP không qua proxy và đánh đổi.
- Ngày truy cập
- RFC 9110: Ngữ nghĩa HTTP Internet Engineering Task Force
- Chủ đề được hỗ trợ
- Yêu cầu xác thực proxy HTTP, đường hầm CONNECT và trường cấp quyền proxy.
- Ngày truy cập
- RFC 7617: Cơ chế xác thực HTTP Basic Internet Engineering Task Force
- Chủ đề được hỗ trợ
- Mã hóa biểu diễn Basic và yêu cầu kênh được bảo vệ cho thông tin xác thực nhạy cảm.
- Ngày truy cập
- RFC 1928: Giao thức SOCKS phiên bản 5 Internet Engineering Task Force
- Chủ đề được hỗ trợ
- Địa chỉ tên miền và thương lượng phương thức xác thực ở cấp giao thức SOCKS5.
- Ngày truy cập
- Thiết kế NetLog Chromium và hướng dẫn riêng tư Chromium project
- Chủ đề được hỗ trợ
- Chế độ ghi NetLog, ranh giới che dữ liệu và trường nhạy cảm có thể có trong tệp chẩn đoán.
- Ngày truy cập