Đổi ngôn ngữ
Tiếng Việt English Русский Deutsch Español Français Italiano Українська Türkçe Bahasa Indonesia हिन्दी 日本語 中文
Menu
Bảng giá
Proxy
LOẠI PROXY
THEO VỊ TRÍ77 vị trí
Giải pháp
Tài nguyên

Cách chỉ dùng proxy cho một số trang web trong Chrome

Mục lục
  1. Chrome có thiết lập proxy cho từng trang không?
  2. Script PAC làm gì?
  3. Có những cách nào để đưa script PAC cho Chrome?
  4. Mỗi tab có thể dùng một proxy khác nhau không?
  5. Vì sao một quy tắc có path lại không khớp trên trang HTTPS?
  6. Bạn nên chọn cách nào?
  7. Trả lời nhanh

Tóm lại: Chrome trên máy tính không có thiết lập nào áp dụng proxy cho từng trang web cụ thể. Nó chạy một cấu hình proxy cho mọi hoạt động duyệt web, lấy từ hệ điều hành, một cờ khởi chạy, chính sách của quản trị viên hoặc một tiện ích. Để chỉ gửi một số trang qua proxy, Chrome cần một script PAC, tức một hàm ngắn chọn proxy cho từng yêu cầu, do bạn tự viết hoặc do một tiện ích tạo ra từ các quy tắc.

Để dùng proxy cho một số trang cụ thể trong Chrome, bạn đưa cho trình duyệt một script PAC nêu tên các trang đó, và Chrome tra cứu nó ở mọi yêu cầu. Script có thể đến từ ba nơi: hệ điều hành của bạn, một Chrome được khởi chạy riêng, hoặc một tiện ích.

Chrome có thiết lập proxy cho từng trang không?

Không. Trang cài đặt của Chrome chỉ có một mục proxy, mang nhãn “Open your computer’s proxy settings” (mở thiết lập proxy của máy tính), và Chromium mô tả các thiết lập đó là áp dụng cho toàn bộ máy tính (chuỗi cài đặt của Chromium).

Ghi chú về proxy của Chromium liệt kê bốn nơi Chrome có thể lấy cấu hình proxy: chính sách của quản trị viên, cờ dòng lệnh, một tiện ích và hệ điều hành. Nơi nào đang có hiệu lực sẽ cung cấp một cấu hình cho mọi thứ trình duyệt tải, và quyết định theo từng trang nằm bên trong cấu hình đó dưới dạng một script PAC.

Script PAC làm gì?

Script PAC (proxy auto-configuration, tự động cấu hình proxy) là một hàm JavaScript tên FindProxyForURL. Chrome gọi nó cho mỗi yêu cầu với địa chỉ và tên host, rồi dùng chuỗi nó trả về: DIRECT nghĩa là không dùng proxy, hoặc PROXY host:port nghĩa là dùng một máy chủ proxy, như tài liệu tham khảo PAC của MDN mô tả.

Script này gửi một tên miền và các tên miền con của nó qua proxy, còn mọi thứ khác đi trực tiếp. Địa chỉ proxy lấy từ một dải dành riêng cho tài liệu (RFC 5737); hãy thay bằng địa chỉ của bạn.

function FindProxyForURL(url, host) {
  if (host === "example.com" || dnsDomainIs(host, ".example.com")) {
    return "PROXY 203.0.113.10:8080";
  }
  return "DIRECT";
}

Thêm một điều kiện cho mỗi trang bạn muốn đi qua proxy. Lệnh return cuối cùng quyết định điều gì xảy ra với mọi trang không có trong danh sách.

Có những cách nào để đưa script PAC cho Chrome?

Ba cách: qua thiết lập proxy của hệ thống, qua một Chrome khởi chạy riêng, hoặc qua một tiện ích. Chúng khác nhau ở mức độ tác động lên máy tính và ở cách một thay đổi có hiệu lực.

Qua thiết lập proxy của hệ thống

Trên Windows, thiết lập proxy có tùy chọn “setup script” (script thiết lập) nhận địa chỉ của script, như hướng dẫn của Microsoft trình bày, và Chrome làm theo thiết lập của hệ thống. Script phải truy cập được tại một URL. Mọi ứng dụng đọc thiết lập proxy của hệ thống cũng sẽ dùng nó, nên cách này hợp với một script bạn định dùng cho cả máy.

Trong một phiên bản Chrome riêng

Chrome nhận các cờ proxy khi khởi chạy, được liệt kê trên trang network settings của Chromium: --proxy-server nêu một proxy, --proxy-bypass-list nêu các host bỏ qua nó, và --proxy-pac-url trỏ tới một script. Khi được khởi chạy với --user-data-dir riêng, Chrome thứ hai chạy song song với Chrome bạn vẫn dùng, vì hai phiên bản đang chạy không thể dùng chung một thư mục dữ liệu (ghi chú của Chromium về thư mục dữ liệu người dùng).

google-chrome --user-data-dir="$HOME/chrome-proxied" --proxy-server="http://203.0.113.10:8080"

Phiên bản đó gửi toàn bộ lưu lượng của nó qua proxy, nên việc bạn mở một trang trong cửa sổ nào sẽ quyết định tuyến đường của trang đó. Đổi proxy nghĩa là thoát phiên bản đó rồi khởi chạy lại với cờ mới.

Với một tiện ích proxy

Một tiện ích đặt proxy của Chrome cho hồ sơ mà nó được cài vào, thông qua API chrome.proxy, và một trình chuyển đổi có quy tắc sẽ biên dịch các quy tắc đó thành một script PAC. Tiện ích miễn phí ProxyJam Connector của chúng tôi hoạt động theo cách này, trên Chrome và trên Microsoft Edge:

  1. Thêm một hồ sơ với host, cổng và giao thức của proxy.
  2. Thêm một quy tắc, ví dụ “Domain + subdomains” (tên miền và tên miền con) với example.com, trỏ tới hồ sơ đó. Quy tắc đầu tiên khớp với một trang sẽ thắng.
  3. Để fallback ở Direct để các trang không khớp quy tắc nào kết nối không qua proxy.
  4. Chọn Auto trong cửa sổ bật lên trên thanh công cụ.

Với một trang khớp quy tắc, script của Connector nêu đúng một proxy đó mà không có tùy chọn đi trực tiếp phía sau. Nếu proxy ngừng hoạt động, trang sẽ không tải được và địa chỉ của chính bạn không bao giờ được dùng cho nó.

Mỗi tab có thể dùng một proxy khác nhau không?

Trong Chrome thì không. API chrome.proxy lưu một giá trị cho một hồ sơ và không nhận tab làm tham số, nên một tab không có gì riêng để đặt.

Đơn vị khả thi là một hồ sơ hoặc một phiên bản. Hãy tạo một hồ sơ Chrome thứ hai cho công việc qua proxy và cài tiện ích ở đó, hoặc khởi chạy một phiên bản thứ hai với cờ riêng, rồi đặt hai cửa sổ cạnh nhau. Khi đó mỗi cửa sổ mang proxy riêng của nó.

Vì sao một quy tắc có path lại không khớp trên trang HTTPS?

Chrome chỉ đưa cho script PAC scheme, host và cổng của một địa chỉ https://. Path, query và fragment đã bị loại bỏ từ Chrome 52, và tùy chọn tắt hành vi này đã bị gỡ ở Chrome 75 (ghi chú về proxy của Chromium).

Vì vậy, một quy tắc như example.com/shop/* không khớp với trang HTTPS nào. Hãy viết quy tắc theo tên host, và cho một phần của trang web một tên miền con riêng nếu phần đó cần tuyến đường riêng. Các địa chỉ http:// thông thường vẫn đến script kèm path, dù Chromium khuyên không nên dựa vào điều đó. Connector hiển thị cảnh báo bên cạnh mọi quy tắc phụ thuộc vào path.

Bạn nên chọn cách nào?

Với vài trang và một proxy, một tiện ích là cách ít công sức nhất, và trang tiện ích liệt kê những gì Connector làm được và không làm được trên Chrome. Proxy đòi mật khẩu được nói tới trong vì sao Chrome cứ hỏi tên người dùng và mật khẩu proxy, còn việc chuyển quy tắc từ một trình chuyển đổi cũ có trong những gì đã thay đổi với Manifest V3. Thiết lập một hồ sơ và một proxy cho mỗi quốc gia để kiểm tra trang web của chính bạn hiển thị thế nào ở từng thị trường được trình bày trong xem trang web của bạn từ một quốc gia khác.

Nếu proxy bạn dùng để định tuyến những trang đó cần giữ một địa chỉ trên mạng của một nhà cung cấp internet, đó chính là proxy ISP. ProxyJam bán proxy dân cư tĩnh (ISP) trên trang proxy ISP, với giá trên trang bảng giá.

Việc định tuyến đến từ đâu, và mỗi cách ảnh hưởng tới những gì

Phạm vi được lấy từ tài liệu của Chromium về nơi đọc thiết lập proxy và từ mô tả của chính các cờ; phần còn lại suy ra từ cách thiết lập từng phương pháp. Chúng tôi không đo tốc độ hay độ tin cậy. Ở bất cứ đâu script PAC quyết định tuyến đường, Chrome chỉ truyền cho nó scheme, host và cổng của một địa chỉ HTTPS.
Thiết lập proxy của hệ thốngMột phiên bản Chrome riêngMột tiện ích proxy
Ảnh hưởng tới gìMọi ứng dụng trên máy tính có đọc thiết lập hệ thốngChỉ các cửa sổ của phiên bản đóHồ sơ Chrome mà tiện ích được cài vào
Cách chọn trangBằng một script PAC lưu tại một URLBằng việc bạn mở trang trong cửa sổ nàoBằng các quy tắc mà tiện ích chuyển thành script PAC
Thay đổi thiết lậpSửa script đang lưu trữThoát rồi khởi chạy lại với cờ mớiSửa một quy tắc trong tiện ích
Proxy cần mật khẩuChrome hỏi trong một hộp thoạiChrome hỏi trong một hộp thoạiTiện ích có thể trả lời cho proxy HTTP và HTTPS

Xác nhận một trang đã đi theo tuyến nào

  1. Đưa một trang kiểm tra vào danh sách trong một phút

    Thêm proxyjam.com vào các trang mà script hoặc quy tắc của bạn gửi qua proxy, bên cạnh các trang bạn quan tâm.

  2. Mở trang kiểm tra

    Trang IP của tôi là gì hiển thị địa chỉ đã truy cập vào nó cùng nhà cung cấp internet và mạng (ASN) mà địa chỉ đó thuộc về. Cả hai phải là của proxy.

  3. Bỏ nó khỏi danh sách và tải lại

    Lúc này trang phải hiển thị kết nối của chính bạn. Khi cả hai kết quả đều như mong đợi, các trang trong danh sách đi qua proxy và phần còn lại đi trực tiếp.

Trả lời nhanh

Danh sách bỏ qua (bypass list) của Chrome có làm cùng việc đó không?

Nó làm điều ngược lại. Cờ --proxy-bypass-list nêu các host bỏ qua proxy, và nó chỉ có tác dụng khi đi cùng --proxy-server, nên mọi thứ không có trong danh sách đều đi qua proxy. Để chỉ cho một danh sách ngắn các trang đi qua proxy và để phần còn lại đi trực tiếp, hãy dùng script PAC.

Cửa sổ ẩn danh có dùng cùng proxy không?

Có, theo mặc định. Tài liệu API proxy của Chrome cho biết cửa sổ ẩn danh thừa hưởng thiết lập của cửa sổ thường, và một tiện ích có thể đặt giá trị riêng cho chế độ ẩn danh khi cần.

Vì sao Chrome báo đang dùng thiết lập proxy từ một tiện ích?

Một tiện ích đã đặt proxy, và Chrome cho phép một tiện ích hoặc chính sách của quản trị viên quyết định thiết lập này thay cho thiết lập của hệ thống. Hãy tắt tiện ích, hoặc chuyển nó sang Direct (trực tiếp), để trả lại quyền điều khiển.

Điều gì xảy ra với các trang không khớp quy tắc nào?

Chúng nhận bất cứ giá trị nào script trả về sau cùng. Trong script ví dụ đó là DIRECT, nên các trang không khớp sẽ kết nối không qua proxy. ProxyJam Connector gọi đây là fallback và đặt nó ở Direct cho đến khi bạn chọn khác. Tiện ích trình duyệt

Nguồn