# Máy kiểm uptime của Belvador: vùng, IP, User-Agent và cách chặn

> Máy kiểm chạy ở đâu, gửi yêu cầu thế nào, địa chỉ nào bị từ chối, giới hạn tần suất mỗi đích và cách chủ website yêu cầu ngừng kiểm.

Máy kiểm uptime của Belvador là các máy nhỏ gửi yêu cầu cho [check uptime](https://belvador.dev/vi/docs/uptime/quickstart). Bài này dành cho hai nhóm người đọc: khách hàng Belvador cần mở tường lửa cho máy kiểm, và chủ website thấy máy kiểm trong log của mình.

## Nhận biết máy kiểm

Mọi yêu cầu HTTP đều mang User-Agent này:

```text
BelvadorUptime/<version> (+https://belvador.dev/docs/uptime/probes)
```

Phần `+https://…` dẫn về trang này. Máy kiểm chỉ gửi `GET` hoặc `HEAD`, không có cookie và không có header `Authorization` (Belvador từ chối lưu cả hai); các header khác do chủ check đặt. Check TCP mở kết nối rồi đóng lại, không gửi dữ liệu.

## Vùng và địa chỉ

| Vùng | Nơi chạy | IPv4 | IPv6 |
|---|---|---|---|
| Châu Âu (`eu`) | Nuremberg (DE) — `nbg1` | `91.98.2.120` | `2a01:4f8:1c16:f108::/64` |
| Bắc Mỹ (`us`) | Ashburn, VA (US) — `ash` | `178.156.225.93` | `2a01:4ff:f0:5b0a::/64` |
| Châu Á – Thái Bình Dương (`ap`) | Singapore (SG) — `sin` | `5.223.53.122` | chưa công bố |

Mỗi vùng có máy kiểm riêng; một check chọn tối thiểu 2 vùng. Danh sách địa chỉ được công bố ở đây trước khi một vùng bắt đầu kiểm và chỉ đổi khi thay máy kiểm. Muốn cho máy kiểm đi qua tường lửa, hãy cho phép các địa chỉ này — hoặc khớp theo User-Agent nếu nhà cung cấp của bạn hỗ trợ.

## Tần suất mỗi đích

Máy kiểm bảo vệ các trang nó ghé thăm, tính chung cho **mọi** workspace Belvador:

- Tối đa một yêu cầu mỗi 10 giây cho mỗi vùng tới cùng một đích. Đích là tên host và cổng như ghi trong check, không phải địa chỉ IP, nên các trang không liên quan dùng chung một địa chỉ CDN không làm chậm nhau.
- Yêu cầu vượt trần đó chờ tối đa 10 giây trước khi bắt đầu (thời gian chờ không tính vào số đo). Nếu phải chờ lâu hơn, yêu cầu không được gửi và lượt đó của vùng là **không rõ** — không bao giờ là sập.
- Lượt bị lỡ trong lúc máy kiểm khởi động lại không được chạy bù.
- Mỗi check trải yêu cầu trong chu kỳ theo một độ lệch cố định, nên nhiều check tới cùng một trang không đến cùng một giây.

## Máy kiểm từ chối gì

Máy kiểm chỉ kết nối tới địa chỉ internet công khai. Check bị từ chối ngay khi lưu, và mỗi yêu cầu lại được xét ở lúc kết nối, với mọi địa chỉ mà tên miền phân giải ra:

- Dải mạng riêng, loopback, link-local và NAT nhà mạng (`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `127.0.0.0/8`, `169.254.0.0/16`, `100.64.0.0/10`, `fc00::/7`, `fe80::/10`, `::1`…), multicast, dải dành riêng và dải tài liệu, cùng địa chỉ metadata của cloud như `169.254.169.254`.
- Dạng IPv6 giấu một địa chỉ IPv4 (`::ffff:…`, `64:ff9b::…`, `2002:…`) — xét theo địa chỉ IPv4 bên trong.
- Chính các host của Belvador.
- Cổng TCP 25, 465, 587 (gửi thư), để máy kiểm không bao giờ bị dùng để gửi thư.
- URL có tên đăng nhập hay mật khẩu bên trong.

Máy kiểm kết nối tới đúng địa chỉ vừa xét và gửi tên host gốc cho TLS và `Host`, nên câu trả lời DNS có đổi giữa lúc xét và lúc kết nối cũng không lái được nó. Mỗi bước chuyển hướng được xét lại từ đầu, tối đa 3 bước, và header riêng của check không được chuyển sang origin khác.

Các quy tắc này được áp lần thứ hai bằng tường lửa của máy kiểm, bên ngoài chương trình kiểm, và lần thứ ba bằng sandbox của hệ điều hành. Tên miền phân giải ra địa chỉ bị từ chối cho kết quả **địa chỉ bị chặn**, hiện cho chủ check như một lỗi cấu hình.

## Máy kiểm giữ gì

Máy kiểm đọc tối đa 64 KB phản hồi vào bộ nhớ để kiểm điều kiện và không giữ gì sau lượt đó. Khi chủ check bật bằng chứng lỗi, phần đầu của phản hồi lỗi (tối đa 8 KB, đã lọc bí mật) được niêm phong bằng khoá node của chính họ trước khi rời máy kiểm; Belvador không mở được. Xem thêm [dữ liệu uptime nằm ở đâu](https://belvador.dev/vi/docs/uptime/quickstart#6-du-lieu-uptime-nam-o-dau).

## Từ chối kiểm và báo lạm dụng

Nếu bạn vận hành một trang và không muốn máy kiểm Belvador ghé thăm, hoặc cho rằng máy kiểm hoạt động bất thường, hãy viết tới [hello@belvador.dev](mailto:hello@belvador.dev) kèm tên host, thời điểm và, nếu có, dòng yêu cầu trong log của bạn. Host bị chặn sẽ bị từ chối cho mọi workspace: check của họ hiện **địa chỉ bị chặn** và không gửi yêu cầu nữa. Chúng tôi không cần biết lý do.

Trong lúc chờ, bạn có thể tự chặn máy kiểm bằng cách chặn các địa chỉ ở trên hoặc trả mã lỗi bất kỳ cho User-Agent này — máy kiểm không bao giờ thử lại một lượt.
