VEdge Test Origin
Kiểm tra nhanhDOM · UPS · TLS
/health | Trả "OK", no-store. Dùng cho health-check, Exempt paths của X-Vtoken. |
/headers | In ra mọi header + IP mà origin nhận được. Xem X-Forwarded-For, Host, header do Header Rules thêm, X-Vtoken đã bị gỡ chưa. |
/echo | Như /headers nhưng in cả body (POST/PUT). Dùng cho WAF, method lạ. |
Cache & PurgeCAC · PUR
/time | JSON có generated_at + nonce, Cache-Control public max-age=3600 (?ttl=). Nonce đổi = origin được gọi lại (MISS). |
/cache?ttl=30&swr=60&sie=300 | TTL tuỳ chỉnh, có stale-while-revalidate / stale-if-error. |
/nocache | Cache-Control: no-cache |
/nostore | Cache-Control: no-store |
/private | Cache-Control: private |
/s-maxage?s=600 | max-age=10, s-maxage=600 |
/expires?ttl=300 | Chỉ có header Expires |
/no-headers | Không có header cache nào |
/cookie | Set-Cookie + public max-age=600. Edge không nên cache chung. |
/by-cookie | Nội dung khác theo cookie gửi lên |
/query?a=1 | Nội dung theo query string (cache key) |
/vary?on=User-Agent | Gửi Vary tuỳ chọn |
/etag | ETag/Last-Modified, trả 304 khi khớp |
/tagged?tag=news,home | Gắn Cache-Tag / Surrogate-Key để thử purge theo tag |
/assets/css/ | Thư mục CSS cho purge theo prefix (a.css, b.css, style.css) |
/warm-urls.txt | Danh sách URL để warm |
Origin, Timeouts, Error pagesUPS · TMO · ERR
/slow?s=5 | Chờ N giây rồi trả (tối đa 600). ?ms= cho mili giây. |
/stream?chunks=10&delay=3 | Trả từng khúc, cách nhau N giây (read timeout giữa các byte) |
/status/502 | Trả mã bất kỳ: /status/404, /status/500, /status/503, /status?code=429 |
/error/504 | Các lối tắt /error/500, /error/502, /error/503, /error/504 |
/crash | Trả 500 kèm body dở dang |
Compression & ImageCMP · IMG
/json?kb=50 | JSON lớn (mặc định 20KB, tối đa 5MB) |
/api/small | Phản hồi 2 byte |
/size?bytes=500 | Text đúng N byte |
/random-bytes?bytes=1048576 | Dữ liệu ngẫu nhiên (không nén được) |
/already-gzip | Origin đã tự gzip |
/data/large.json | JSON tĩnh ~200KB |
/data/small.txt | Text tĩnh 9 byte |
/assets/css/style.css | CSS ~60KB |
/assets/js/app.js | JS ~90KB |
/img/huge.jpg | JPG 6000×4000 (~2.4MB) |
/img/large.jpg | JPG 4000×3000 (~1.5MB) |
/img/large.png | PNG 2400×1600 (~3MB) |
/img/photo.jpg | JPG 1600×1200 |
/img/medium.png | PNG 800×600 |
/img/small.jpg | JPG 320×240 |
/img/anim.gif | GIF động |
/img/logo.svg | SVG |
Video, X-Vtoken, Token V2VT · TV2
/video/sample.mp4 | MP4 30 giây 720p (~6MB, hỗ trợ Range) |
/video/a.m3u8 | HLS (đúng path ví dụ trong docs X-Vtoken) |
/vod/hls/index.m3u8 | HLS VOD cho Token V2 (match path /vod/) |
/vod/hls-aes/index.m3u8 | HLS mã hoá AES-128 có file key riêng (thử ký manifest/segment/key) |
/premium/hls/index.m3u8 | HLS cho rule /premium/ (Token V2 nhiều rule) |
/lab/site-a.html | Site A "chính chủ": phát HLS bằng hls.js, gắn header X-Vtoken, test fetch/CORS |
/lab/site-b.html | Site B "kẻ hotlink": nhúng trần <img>/<video> |
Bảo mật: WAF, Firewall, ACL, Rate limit, BotWAF · FW · ACL · RL · BD · BM · ADP · DDS · JSC
/search?q=test | Phản chiếu q (đã escape) — gửi payload XSS |
/product?id=1 | Thử ?id=1' OR '1'='1 (SQLi) |
/login | Form đăng nhập (POST user=tester&pass=tester) cho brute-force / rate limit |
/admin/ | Khu admin cho rule theo path |
/wp-admin/ | Path hay bị quét |
/ua | In lại User-Agent, IP, cookie (Bot Detection/Management, JS Challenge) |
/upload | POST multipart, trả số byte nhận được (giới hạn body) |
/download/1mb.bin | 1MB |
/download/10mb.bin | 10MB (bandwidth, rate limit theo băng thông) |
Headers, CORS, Redirect, RewriteHDR · SEC · COR · RED · ORW
/set-headers?h=X-Test:1&h2=Server:fake | Origin trả header tuỳ ý (xem Header Rules ghi đè/xoá) |
/with-security-headers | Origin tự gửi XFO/CSP/HSTS (xem Security Headers ghi đè hay giữ) |
/api/cors | Endpoint JSON không có header CORS ở origin (để edge thêm) |
/redirect?to=/new-page&code=301 | Redirect từ origin |
/old-page | 301 → /new-page |
/backend/anything | Backend phụ: in lại path/host nhận được (Origin Rewrite). Cũng: /v2/…, /legacy/… |
Ghi chú
- Mọi phản hồi từ PHP có header
X-Origin-IdvàX-Origin-Time. Có hai header này nghĩa là request đã chạy tới origin. - File tĩnh (ảnh, video, css, js) do nginx trả thẳng, hỗ trợ Range. Nginx của CloudPanel tự đặt cache rất dài cho ảnh/css/js.
- Site A/Site B nên mở từ một domain khác domain CDN để test hotlink/CORS đúng nghĩa. Có thể truyền
?cdn=https://domain-cdn.