# 403 Forbidden khi crawl qua proxy: nguyên nhân và cách xử lý

> Tại sao trang trả 403 Forbidden cho crawler qua proxy, cách phân biệt block và lỗi, và cách xử lý tuân thủ luật chơi của trang.

- URL: https://crawlrelay.com/vi/docs/errors/403-forbidden/
- Cập nhật lần cuối: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Mã trạng thái HTTP (4xx, lỗi phía client): thông báo chính xác trong từng công cụ, nguyên nhân có thể theo thứ tự, và cách sửa hiệu quả.

**Trả lời nhanh — 403 Forbidden nghĩa là gì với proxy?**

**403 Forbidden** nghĩa là máy chủ đã hiểu yêu cầu của bạn nhưng từ chối phục vụ. Khi bạn crawl qua proxy residential của CrawlRelay, 403 hầu như là do trang đích hoặc tường lửa, không phải proxy. Tìm nguyên nhân trước khi gửi nhiều lưu lượng: lỗi quốc gia, header thiếu, trang cần đăng nhập, hoặc trang không cho phép truy cập tự động.

## 403 Forbidden nhìn nhanh

| Thuộc tính | Giá trị |
| --- | --- |
| Lỗi | 403 Forbidden |
| Loại | Mã trạng thái HTTP (4xx, lỗi phía client) |
| Gửi bởi | Thường là trang web đích hoặc tường lửa; đôi khi là proxy vì đích bị chặn |
| Định nghĩa tại | RFC 9110, section 15.5.4 |
| Thử lại? | Một lần, sau lúc nghỉ và trên IP mới; gặp 403 nhiều lần nghĩa là dừng lại |
| Kiểm tra trước tiên | Mở cùng URL trên trình duyệt bình thường từ cùng quốc gia |

## 403 Forbidden nghĩa là gì?

RFC 9110 định nghĩa 403 là từ chối: máy chủ hiểu yêu cầu nhưng sẽ không thực hiện. Khác 401, đổi thông tin đăng nhập không giúp được. Trang có thể giải thích lý do trong nội dung trả về, nhưng nhiều tường lửa chỉ gửi trang ngắn chung chung.

Với crawler, 403 là dấu hiệu chính sách. Trang quyết định yêu cầu này, từ IP này, kèm header này, với tốc độ này, không được tải trang. Một số nguyên nhân do bạn sửa được, số khác là thông báo từ trang.

## a 403 trông như thế nào trong Python, curl, Node.js và trình duyệt?

Cùng một lỗi nhưng hiển thị khác nhau trên mỗi công cụ. Đây là các thông báo bạn nên tìm trong nhật ký của mình:

- **Python requests:** `r.status_code == 403`, thường kèm HTML từ nhà cung cấp tường lửa
- **Scrapy:** `Ignoring response <403 https://...>: HTTP status code is not handled or not allowed`
- **curl:** `HTTP/2 403` trong đầu ra chi tiết
- **Playwright, Puppeteer:** trình duyệt chuyển hướng thành công nhưng `response.status()` trả 403 và trang hiện thông báo cấm truy cập

## Nguyên nhân gây ra a 403 là gì?

Khả năng đầu tiên là:

- **Vị trí địa lý.** Nội dung không cung cấp tại quốc gia IP ra hoặc trang chỉ phục vụ một vùng.
- **Danh tiếng IP.** Trang chặn dải địa chỉ liên quan đến lưu lượng tự động. Dải datacenter thường bị chặn hơn residential.
- **Dấu vân tay yêu cầu.** Header thiếu hoặc không nhất quán, như không có `Accept-Language`, hoặc User-Agent trình duyệt gửi bởi client HTTP đơn giản.
- **Tốc độ.** Quá nhiều yêu cầu trong thời gian ngắn trên một phiên, khiến tường lửa tăng từ 429 lên 403.
- **Quy định truy cập.** Trang yêu cầu đăng nhập, tài khoản trả phí, hoặc loại trừ crawler trong robots.txt hoặc điều khoản sử dụng.
- **Chính sách proxy.** Một số đích bị proxy từ chối. Trên CrawlRelay, điều này áp dụng các mục trong Chính sách Sử dụng Phù hợp.

## Làm sao để chẩn đoán a 403 từng bước?

1. Mở URL trên trình duyệt bình thường từ quốc gia đó. Nếu cũng lỗi, trang không công khai cho khu vực đó.
2. So sánh header crawler gửi và trình duyệt gửi.
3. Kiểm tra robots.txt và điều khoản trang về truy cập tự động.
4. Quan sát thời điểm lỗi 403 xuất hiện: lỗi sau N yêu cầu là do tốc độ, không phải IP.

*Kiểm tra URL bị lỗi với curl (cổng HTTP, chi tiết)*

```bash
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL
```

## Làm sao để sửa a 403?

- **Chọn đúng quốc gia** bằng tham số `country-` để thấy phiên bản trang người dùng địa phương nhận.
- **Gửi header trung thực và đầy đủ.** Xác định crawler trong User-Agent với URL liên hệ, gửi `Accept` và `Accept-Language`.
- **Chậm lại.** Giảm số kết nối đồng thời mỗi host và thêm độ trễ. Xem [cách xử lý 403, 429 và CAPTCHA](https://crawlrelay.com/vi/guides/403-429-captcha/).
- **Tôn trọng từ chối.** Nếu trang chặn truy cập tự động cố ý, hãy tìm API chính thức, giấy phép dữ liệu hoặc bộ dữ liệu công khai. Thay đổi IP để qua chặn có thể vi phạm [Chính sách Sử dụng Phù hợp](https://crawlrelay.com/vi/acceptable-use/).

## Có nên thử lại sau a 403 không?

Chỉ thử lại 403 một lần và chỉ sau khi nghỉ, trên IP mới. Một thử lại giúp phân biệt lỗi một địa chỉ với chính sách toàn trang. Nếu lần hai vẫn 403, dừng gửi yêu cầu dạng URL đó và xem lại cấu hình. Gửi liên tục 403 lãng phí băng thông và biến block mềm thành hard block.

## 403 Forbidden áp dụng thế nào với CrawlRelay?

Trên CrawlRelay, kết nối mới không có session ID thường ra IP residential khác, nên thử lại một lần kiểm tra địa chỉ mới. Giữ nguyên quốc gia khi thử lại: đổi quốc gia thay đổi nội dung so sánh. Yêu cầu đến trang ngân hàng, chính phủ và cổng thanh toán bị cổng từ chối theo AUP.

Gateway: `gw.crawlrelay.com`, cổng 7777 (HTTP, HTTPS qua CONNECT) và cổng 7778 (SOCKS5). Định dạng tên người dùng: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Tham khảo liên quan: [429 Too Many Requests](https://crawlrelay.com/vi/docs/errors/429-too-many-requests/) · [401 vs 407](https://crawlrelay.com/vi/docs/errors/401-unauthorized/) · [Xử lý 403, 429 và CAPTCHA](https://crawlrelay.com/vi/guides/403-429-captcha/).

## 403 Forbidden: các câu hỏi thường gặp của lập trình viên

### 403 nghĩa là IP proxy của tôi bị cấm à?

Không nhất thiết. Một lỗi 403 có thể xuất phát từ quốc gia không đúng, thiếu header, tốc độ gửi yêu cầu quá nhanh hoặc một trang không công khai. Hãy thử cùng một URL trên trình duyệt ở cùng quốc gia và so sánh. Nếu một IP mới lấy được trang còn IP cũ thì không, IP cũ đã bị đánh dấu. Nếu tất cả IP đều nhận lỗi 403, nguyên nhân là quy tắc của trang.

### Proxy residential có loại bỏ lỗi 403 không?

Không hẳn. Một địa chỉ residential ở đúng quốc gia hoặc thành phố sẽ sửa lỗi 403 do vị trí sai, vì trang sẽ phục vụ phiên bản địa phương. Nếu trang lọc dải hosting hoặc hạn chế crawler để chặn lưu lượng tự động, IP residential cũng không được phép truy cập. Lỗi 403 do header, tốc độ hay hàng rào đăng nhập phải sửa trong mã của bạn.

### Việc tiếp tục crawl sau 403 có hợp pháp không?

Lỗi 403 là tín hiệu rõ ràng trang web từ chối yêu cầu. Vượt rào kỹ thuật cố ý có thể tạo rủi ro pháp lý ở nhiều quốc gia, ví dụ theo luật chống phá hoại hay lạm dụng máy tính. Đây không phải tư vấn pháp lý. Đọc tổng quan của chúng tôi về [pháp luật web scraping năm 2026](https://crawlrelay.com/vi/guides/is-web-scraping-legal/) và hỏi luật sư cho trường hợp của bạn.

## Các lỗi proxy khác trong tài liệu tham khảo này

- [401 Unauthorized vs 407](https://crawlrelay.com/vi/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/vi/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/vi/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/vi/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/vi/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/vi/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/vi/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/vi/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/vi/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/vi/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/vi/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/vi/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/vi/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/vi/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/vi/docs/errors/ssl-wrong-version-number/)

**Proxy dân cư với tài liệu bao gồm các trường hợp lỗi** CrawlRelay proxy dân cư từ 0,50 US$/GB, lưu lượng không bao giờ hết hạn. [Xem giá](https://crawlrelay.com/vi/pricing/) · [Bắt đầu nhanh](https://crawlrelay.com/vi/docs/)

---

CrawlRelay: CrawlRelay là dịch vụ proxy dân cư xoay vòng và proxy di động 4G/5G dành cho nhà phát triển, hỗ trợ scrapers và pipeline dữ liệu AI: traffic trả tiền theo nhu cầu không hết hạn từ 0,50 US$/GB, thanh toán bằng crypto, không cần tải lên ID. Không cần KYC — không cần ID, không chụp selfie, không giấy tờ.
