# Cách xem trang web của bạn từ một quốc gia khác | ProxyJam

Để thấy trang của bạn như khách ở nước ngoài thấy, hãy khớp địa chỉ IP, ngôn ngữ trình duyệt, múi giờ và cookie với thị trường đó trong một hồ sơ Chrome riêng.

- Canonical: https://proxyjam.com/vi/blog/view-website-from-another-country/
- Updated: 2026-10-20
- Language: vi

Một trang web thường xác định quốc gia của bạn từ địa chỉ IP, rồi điều chỉnh nội dung hiển thị theo ngôn ngữ trình duyệt, múi giờ, cookie và tài khoản đang đăng nhập. Để xem trang web của chính bạn từ một quốc gia khác, tất cả những thứ đó đều phải khớp với thị trường. Nghĩa là cần một proxy ở quốc gia đó cho địa chỉ, và một hồ sơ Chrome riêng với ngôn ngữ và múi giờ của thị trường, không mang theo cookie nào của bạn.


## Ghi cùng các trường ở mỗi lần kiểm tra

1. Ngày giờ, hồ sơ, cùng địa chỉ và quốc gia mà What Is My IP hiển thị cho hồ sơ đó.
2. Chuỗi chuyển hướng: mọi bước nhảy từ địa chỉ bạn gõ đến trang bạn đến nơi, kèm mã trạng thái.
3. Giá như được hiển thị, đơn vị tiền tệ, và đã gồm thuế hay chưa.
4. Trong các sản phẩm hoặc gói bạn bán ở thị trường đó, những cái nào đang được chào bán và còn hàng.
5. Banner đồng ý: có xuất hiện không, và đưa ra những lựa chọn nào.
6. Ngôn ngữ mà trang được phục vụ, và ảnh chụp màn hình đầu tiên của trang.

## Mỗi tín hiệu đến từ đâu, và cách đặt nó khi kiểm thử

|  | Trang web đọc nó ở đâu | Thứ đặt nó trong Chrome | Cách đặt nó khi kiểm thử |
|---|---|---|---|
| Địa chỉ IP | Trên máy chủ hoặc CDN, tra trong cơ sở dữ liệu định vị địa lý | Kết nối của bạn, hoặc proxy hay VPN | Một proxy ở thị trường đó, đặt trong hồ sơ kiểm thử |
| Ngôn ngữ trình duyệt | Header Accept-Language và navigator.languages | Danh sách ngôn ngữ ưu tiên trong phần cài đặt ngôn ngữ của Chrome | Đưa ngôn ngữ của thị trường lên đầu danh sách |
| Múi giờ | Script của trang, qua Intl API | Hệ điều hành | Một vị trí trong DevTools với Timezone ID của thị trường, hoặc cài đặt hệ thống |
| Vị trí chính xác | Geolocation API, sau khi khách truy cập cho phép | Hộp thoại xin quyền và dịch vụ vị trí của thiết bị | Chặn hộp thoại, hoặc ghi đè vị trí trong DevTools |
| Lựa chọn đã lưu và tài khoản | Cookie, bộ nhớ trang và tài khoản đang đăng nhập | Hồ sơ bạn đang duyệt | Một hồ sơ mới cho mỗi thị trường, không đăng nhập hoặc dùng tài khoản thử cho thị trường đó |

Nguồn gốc của từng tín hiệu theo MDN, Trợ giúp Chrome và tài liệu DevTools liệt kê trong phần Nguồn. Một trang cụ thể đọc những tín hiệu nào, theo thứ tự nào, khác nhau giữa các trang; chúng tôi không đo trang cụ thể nào.


## Trả lời nhanh

### Cửa sổ ẩn danh có cho thấy trang như từ quốc gia khác không?

Không. Chế độ ẩn danh bắt đầu mà không có cookie của bạn, nhưng yêu cầu vẫn đi ra từ địa chỉ của chính bạn. MDN cũng lưu ý rằng ở chế độ ẩn danh, Chrome chỉ liệt kê một ngôn ngữ trong Accept-Language, có thể khác với những gì một khách thật gửi đi.

### Tôi có thể kiểm tra nhiều quốc gia cùng lúc không?

Có, với một hồ sơ Chrome cho mỗi thị trường, mỗi hồ sơ một proxy riêng, trong các cửa sổ đặt cạnh nhau. Chrome lưu một cài đặt proxy cho mỗi hồ sơ và không có proxy theo từng tab, nên hồ sơ là đơn vị.

### Có nên xóa cookie giữa các lần kiểm tra không?

Nếu mỗi lần kiểm tra cần trông như lần ghé đầu tiên thì có: xóa dữ liệu của trang đó trong hồ sơ trước khi kiểm tra. Nếu bạn đang kiểm tra những gì một khách quay lại nhìn thấy, hãy giữ chúng và ghi chú vào bản ghi, vì một khu vực hay đơn vị tiền tệ đã lưu có thể lấn át địa chỉ.

### Làm sao xác nhận địa chỉ nằm ở quốc gia mục tiêu?

Mở What Is My IP trong hồ sơ kiểm thử với trang kiểm tra đã được thêm vào quy tắc proxy. Trang đó hiển thị địa chỉ đã đến được nó, vị trí địa lý của địa chỉ và mạng mà nó thuộc về. Các cơ sở dữ liệu định vị có thể không thống nhất, nên một trang web vẫn có thể đặt cùng địa chỉ đó ở nơi khác.

### Tôi có thể kiểm tra một thành phố cụ thể không?

Không với ProxyJam. Danh mục dân cư tĩnh được bán theo quốc gia, nhà cung cấp và gói, và không có gói nào trong đó gắn với một thành phố hay một khu vực.


## Nguồn

- [Cloudflare: HTTP headers](https://developers.cloudflare.com/fundamentals/reference/http-headers/), header CF-IPCountry mang mã quốc gia hai chữ cái của khách truy cập
- [MDN: Accept-Language header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Language), cách trình duyệt điền header từ cài đặt ngôn ngữ, và ngôn ngữ duy nhất Chrome gửi ở chế độ ẩn danh
- [MDN: navigator.languages](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/languages), cùng danh sách ngôn ngữ đó khi script của trang nhìn thấy
- [MDN: Intl.DateTimeFormat resolvedOptions()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions), múi giờ mà script đọc được, một tên IANA mặc định theo môi trường chạy
- [MDN: Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API), quyền mà trang web cần trước khi biết vị trí chính xác
- [Google Chrome Help: Manage Chrome with multiple profiles](https://support.google.com/chrome/answer/2364824), thêm hồ sơ và những gì hồ sơ tách riêng
- [Chromium: user data directory](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/user_data_dir.md), dữ liệu hồ sơ, gồm lịch sử, dấu trang và cookie
- [Chrome for Developers: chrome.proxy API](https://developer.chrome.com/docs/extensions/reference/api/proxy), cài đặt proxy mà một tiện ích kiểm soát cho hồ sơ của nó
- [Google Chrome Help: Change Chrome languages](https://support.google.com/chrome/answer/173424), thêm và sắp xếp lại các ngôn ngữ ưu tiên
- [Chrome DevTools: Locations](https://developer.chrome.com/docs/devtools/settings/locations), vị trí tùy chỉnh với Timezone ID và Locale, chọn trong bảng Sensors
- [Chrome DevTools: Sensors](https://developer.chrome.com/docs/devtools/sensors), ghi đè vị trí địa lý cho trang đang kiểm thử
- [Chrome DevTools: Network features reference](https://developer.chrome.com/docs/devtools/network/reference), Preserve log, tùy chọn giữ lại các yêu cầu qua những lần tải trang
- [curl manual](https://curl.se/docs/manpage.html), các tùy chọn -x, -I, -L và -H
- [Google Search Central: locale-adaptive pages](https://developers.google.com/search/docs/specialty/international/locale-adaptive-pages), địa chỉ của Googlebot phần lớn đặt tại Hoa Kỳ và các yêu cầu không có Accept-Language
- [MaxMind: GeoIP Anonymous IP database](https://dev.maxmind.com/geoip/docs/databases/anonymous-ip/), trường đánh dấu địa chỉ đăng ký cho các nhà cung cấp VPN ẩn danh
- [RFC 5737: IPv4 Address Blocks Reserved for Documentation](https://www.rfc-editor.org/rfc/rfc5737.html), dải 203.0.113.0/24 dùng cho địa chỉ proxy ví dụ




Để xem trang web của bạn từ một quốc gia khác, yêu cầu phải đến theo cách yêu
cầu của một khách truy cập sẽ đến: từ một địa chỉ ở quốc gia đó, với ngôn ngữ
trình duyệt và múi giờ của thị trường đó, và không mang cookie mà các lần truy
cập của chính bạn để lại. Proxy lo phần địa chỉ, phần còn lại là cài đặt trình
duyệt. Hướng dẫn này nói về việc kiểm tra trang của chính bạn, công việc mà
[trang kiểm thử theo khu vực](/vi/solutions/region-testing/) của
chúng tôi mô tả: cách thiết lập trong Chrome, cần ghi gì ở mỗi lần kiểm tra, và
khi nào VPN cũng làm được việc tương tự.

## Trang web dùng gì để xác định quốc gia của bạn?

Thường là địa chỉ IP, hay kết hợp với các tín hiệu khác. Có năm tín hiệu, và
chúng đến từ những nơi khác nhau.

- **Địa chỉ IP.** Máy chủ, hoặc một CDN đứng trước nó, tra địa chỉ trong cơ sở
  dữ liệu định vị địa lý. Chẳng hạn, Cloudflare có thể chuyển quốc gia của khách
  tới máy chủ gốc dưới dạng mã hai chữ cái trong header `CF-IPCountry`
  ([tài liệu header của Cloudflare](https://developers.cloudflare.com/fundamentals/reference/http-headers/)).
- **Ngôn ngữ trình duyệt.** Chrome gửi header `Accept-Language` dựng từ các ngôn
  ngữ ưu tiên trong cài đặt, và script của trang đọc cùng danh sách đó từ
  `navigator.languages`
  ([MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Language)).
- **Múi giờ.** Một script có thể đọc múi giờ của máy tính dưới dạng một tên như
  `Europe/Berlin` qua API `Intl.DateTimeFormat`, trong trường `timeZone` của
  `resolvedOptions()`
  ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions)).
- **Vị trí chính xác.** Geolocation API chỉ báo tọa độ sau khi khách truy cập
  cho phép
  ([MDN](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API)),
  nên phần lớn trang web không bao giờ có được nó.
- **Những gì trang đã biết.** Một cookie lưu khu vực hoặc đơn vị tiền tệ bạn
  chọn lần trước, hay quốc gia trên một tài khoản đang đăng nhập, có thể được
  ưu tiên hơn địa chỉ.

Bảng "Mỗi tín hiệu đến từ đâu, và cách đặt nó khi kiểm thử" ghép từng tín hiệu
với cài đặt Chrome điều khiển nó.

## Vì sao chỉ một proxy là chưa đủ?

Các tín hiệu có thể mâu thuẫn nhau, và cách trang xử lý sự mâu thuẫn đó là một
phần của thứ bạn đang kiểm tra. Cho Chrome đi qua một địa chỉ ở Đức nhưng để
danh sách ngôn ngữ ở English (US), thì một trang lấy ngôn ngữ từ
`Accept-Language` và lấy giá từ địa chỉ sẽ hiện giá bằng euro bằng tiếng Anh.
Không có khách thật nào ở Đức dùng trình duyệt tiếng Đức lại thấy trang đó.
Giữ nguyên cookie quen thuộc của bạn, và trang có thể bỏ qua logic quốc gia để
phục vụ khu vực bạn đã chọn tháng trước.

Vì vậy, hãy đặt mọi tín hiệu theo thị trường trước lần kiểm tra đầu tiên, và
giữ nguyên như thế cho các lần sau.

## Làm sao thiết lập một hồ sơ Chrome cho mỗi thị trường?

Tạo một hồ sơ Chrome riêng cho mỗi thị trường và cho nó một proxy riêng. Một hồ
sơ giữ lịch sử, mật khẩu và cài đặt của riêng nó
([Trợ giúp Chrome](https://support.google.com/chrome/answer/2364824)), cùng
cookie của riêng nó
([ghi chú của Chromium về thư mục dữ liệu người dùng](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/user_data_dir.md)).
Cookie của hồ sơ Đức không bao giờ sang hồ sơ Pháp, và cả hai đều không đụng
tới việc duyệt web hằng ngày của bạn.

1. **Tạo hồ sơ.** Chọn ảnh hồ sơ của bạn ở góc trên bên phải, chọn mục thêm hồ
   sơ Chrome, rồi đặt tên theo thị trường, chẳng hạn "Test DE". Đừng đăng nhập
   Tài khoản Google trong hồ sơ đó, để không có gì từ hồ sơ chính được đồng bộ
   sang.
2. **Cài một tiện ích proxy trong hồ sơ đó.** Tiện ích đặt proxy cho hồ sơ mà
   nó được cài vào
   ([chrome.proxy API](https://developer.chrome.com/docs/extensions/reference/api/proxy)).
   Thêm proxy của thị trường vào tiện ích. [ProxyJam Connector](/vi/browser-extension/)
   miễn phí của chúng tôi là một tiện ích như vậy.
3. **Chỉ cho các tên miền đang kiểm thử đi qua proxy.** Thêm một quy tắc cho tên
   miền của trang bạn và các tên miền con, và để phương án dự phòng ở Direct.
   Lưu lượng của chính Chrome và mọi trang khác vẫn dùng kết nối của bạn, và
   proxy chỉ mang phần kiểm thử. Quy tắc trở thành tập lệnh PAC ra sao, và vì
   sao trên HTTPS chúng khớp tên máy chủ chứ không bao giờ khớp đường dẫn, được
   trình bày trong
   [chỉ dùng proxy cho một số trang trong Chrome](/vi/blog/chrome-proxy-for-specific-sites/)
   (bằng tiếng Anh).
4. **Thêm các máy chủ mà trang gọi tới.** Mở DevTools, tải lại trang và đọc cột
   Domain trong bảng Network (nhấp chuột phải vào tiêu đề cột để hiện nó nếu
   đang ẩn). Giá thường đến từ một API trên máy chủ khác, và banner đồng ý có
   thể hỏi máy chủ của nhà cung cấp banner nên hiện phiên bản nào. Máy chủ nào
   bị bỏ sót khỏi quy tắc sẽ thấy địa chỉ của chính bạn, và trang rốt cuộc trộn
   lẫn hai thị trường. Hãy thêm từng máy chủ.
5. **Đặt ngôn ngữ.** Trong phần cài đặt ngôn ngữ của Chrome, thêm ngôn ngữ của
   thị trường vào danh sách ngôn ngữ ưu tiên và đưa nó lên đầu
   ([Trợ giúp Chrome](https://support.google.com/chrome/answer/173424)). Thứ
   tự đó là thứ `Accept-Language` gửi đi.
6. **Đặt múi giờ.** Chrome lấy múi giờ từ hệ điều hành và không có cài đặt múi
   giờ riêng. Khi kiểm thử, DevTools có thể cung cấp nó: trong cài đặt của
   DevTools, mục Locations, thêm một vị trí với Timezone ID và Locale của thị
   trường, rồi chọn nó trong bảng Sensors
   ([tài liệu DevTools](https://developer.chrome.com/docs/devtools/settings/locations)).
   Phần ghi đè thuộc về tab đang mở DevTools, nên hãy mở DevTools trước khi tải
   trang. Đổi múi giờ hệ thống cũng được, cho mọi chương trình trên máy tính
   cùng lúc.
7. **Kiểm tra hồ sơ.** Thêm proxyjam.com vào quy tắc trong một phút và mở
   [What Is My IP](/vi/what-is-my-ip/). Trang phải hiển thị địa
   chỉ của proxy, định vị ở thị trường đó. Sau đó gỡ trang kiểm tra khỏi quy
   tắc.

Nếu proxy cần tên đăng nhập và mật khẩu mà Chrome cứ hỏi lại,
[hộp thoại đăng nhập proxy](/vi/blog/chrome-proxy-password-prompt/) (bằng tiếng
Anh) giải thích nguyên nhân và cách xử lý.

## Một lần kiểm tra theo khu vực nên ghi lại những gì?

Cùng các trường ở mỗi lần kiểm tra, để hai lần có thể so sánh từng dòng. Danh
sách "Ghi cùng các trường ở mỗi lần kiểm tra" là bộ khởi đầu: chuỗi chuyển
hướng, giá và đơn vị tiền tệ, hàng tồn, banner đồng ý và ngôn ngữ, cộng với
địa chỉ hồ sơ đang dùng.

Với chuỗi chuyển hướng, hãy bật Preserve log trong bảng Network, tùy chọn giữ
lại trong danh sách các yêu cầu từ trước khi chuyển hướng
([tài liệu tham khảo Network của DevTools](https://developer.chrome.com/docs/devtools/network/reference)).
Từ terminal, curl in header của mọi bước nhảy khi được cho `-I` và `-L`, gửi
yêu cầu qua proxy với `-x`, và thêm header ngôn ngữ với `-H`
([hướng dẫn curl](https://curl.se/docs/manpage.html)). Địa chỉ proxy trong ví
dụ lấy từ một dải dành riêng cho tài liệu
([RFC 5737](https://www.rfc-editor.org/rfc/rfc5737.html)); hãy thay bằng địa
chỉ của bạn.

```sh
curl -sIL -x http://203.0.113.10:8080 -H "Accept-Language: de-DE,de;q=0.9" https://example.com/
```

Mỗi dòng trạng thái theo sau là một header `location:` là một bước nhảy. Một
yêu cầu đơn giản như thế này thấy được chuyển hướng, header và giá viết sẵn
trong HTML. Vì `-I` gửi yêu cầu HEAD, một máy chủ trả lời HEAD khác với GET có
thể cho ra chuỗi khác; bỏ `-I` và thêm `-o /dev/null -D -` để in header của một
yêu cầu bình thường. Lệnh không chạy script nào, nên banner đồng ý hay giá được
điền sau khi trang tải xong cần đến hồ sơ trình duyệt.

Mỗi lần kiểm tra một dòng, mỗi thị trường một trang tính. Khác biệt giữa hai
lần chỉ đáng điều tra khi địa chỉ, ngôn ngữ và múi giờ giống nhau ở cả hai lần;
nếu có thứ nào thay đổi, bạn đang so sánh hai cách thiết lập.

Chuỗi chuyển hướng quan trọng cả ngoài phạm vi QA. Google cho biết các địa chỉ
mặc định của trình thu thập của họ có vẻ nằm ở Hoa Kỳ và trình thu thập không
gửi header `Accept-Language`
([Google Search Central](https://developers.google.com/search/docs/specialty/international/locale-adaptive-pages)),
nên Google có thể không thu thập hoặc lập chỉ mục một phiên bản thị trường chỉ
truy cập được qua cơ chế nhận diện. Một phiên bản có URL riêng tránh được điều đó.

## Vì sao địa chỉ tĩnh tốt hơn địa chỉ xoay vòng cho các lần kiểm tra lặp lại?

Một phép so sánh cần mỗi lần chỉ một thứ thay đổi. Pool xoay vòng cấp một địa
chỉ khác cho mỗi yêu cầu hoặc mỗi phiên, và mỗi địa chỉ có bản ghi định vị và
mạng riêng. Khi giá thay đổi giữa thứ Hai và thứ Năm, bạn không biết được là
trang thay đổi hay địa chỉ thay đổi. Địa chỉ tĩnh giữ điểm quan sát cố định,
nên nó ra khỏi phép so sánh. Việc giữ một địa chỉ và lấy từ một pool được so
sánh kỹ hơn trong
[proxy ISP và proxy dân cư](/vi/blog/isp-vs-residential-proxies/).

Địa chỉ tĩnh vẫn có thể dịch chuyển: cơ sở dữ liệu định vị được cập nhật, và một
địa chỉ có thể bị ghi nhận dưới một quốc gia khác. Vì vậy phép kiểm tra What Is
My IP đi trước mọi lần kiểm tra, kể cả lần đầu. Pool xoay vòng là công cụ hợp
hơn khi bạn cần nhiều địa chỉ khác nhau trong một thị trường cùng một lúc.

## Khi nào VPN là đủ, và khi nào không?

VPN là đủ cho một lần xem: trang chủ bản Đức có tải không, banner có hiện không.
Cách này nhanh, và nhiều người đã cài sẵn.

VPN thiếu sót ở ba điểm khi phép kiểm tra phải lặp lại:

- Ứng dụng VPN thường mang toàn bộ lưu lượng của thiết bị, nên mọi chương trình
  và tab cùng nằm ở quốc gia kiểm thử, và không thể đặt hai thị trường cạnh
  nhau.
- Địa chỉ ra của nó được nhiều người dùng chung và tạo thành một nhóm đã biết
  trong dữ liệu IP: các cơ sở dữ liệu thương mại có một trường cho địa chỉ đăng
  ký cho nhà cung cấp VPN ẩn danh
  ([tài liệu của MaxMind](https://dev.maxmind.com/geoip/docs/databases/anonymous-ip/)).
  Trang nào đọc trường này có thể đối xử với khách dùng VPN khác đi, và lần
  kiểm tra khi đó ghi lại chính sự đối xử ấy.
- Địa chỉ ra có thể đổi từ lần kết nối này sang lần sau, kéo theo đúng vấn đề
  của pool xoay vòng.

## ProxyJam phù hợp ở đâu?

ProxyJam bán proxy dân cư tĩnh (ISP): một địa chỉ ở quốc gia bạn chọn, đăng ký
cho một nhà cung cấp internet, thuộc về bạn suốt kỳ hạn bạn đã trả tiền. Với
công việc này, nghĩa là một địa chỉ cho mỗi thị trường. Các quốc gia được liệt
kê trên [trang vị trí proxy](/vi/proxy-locations/), hiện có 77, với
giá theo IP theo kỳ hạn trên [trang bảng giá](/vi/pricing/). Nếu một địa chỉ
bắt đầu bị định vị ra ngoài quốc gia bạn đã mua, đó là căn cứ để được thay miễn
phí, trong giới hạn hằng tháng nêu tại
[mục 2.5 Điều khoản Dịch vụ](/vi/terms-of-service/).

Sản phẩm được bán theo quốc gia, nên khác biệt giữa hai thành phố nằm ngoài
những gì nó có thể cho thấy. Nó cũng nhằm để kiểm tra trang của chính bạn: dùng
một địa chỉ để tiếp cận nội dung mà một trang giữ lại không cho quốc gia của bạn
xem là bị cấm theo
[mục 5 Chính sách Sử dụng Chấp nhận được](/vi/acceptable-use-policy/) của chúng
tôi. Danh mục có trên [trang proxy ISP](/vi/isp-proxies/), còn proxy ISP rốt
cuộc là gì được giải thích trong
[proxy ISP là gì](/vi/blog/what-are-isp-proxies/).

