Tài liệu kỹ thuật
Hạ tầng phân tán toàn cầu giúp phân phối nội dung nhanh hơn, bảo mật hơn và ổn định hơn. Tài liệu này giải thích chi tiết CDN, HTTPS, WAF, Cache và Rules.
01 — Tổng quan
Khi không có CDN, mọi request đều phải đi về server gốc dù người dùng ở đâu trên thế giới. CDN đặt các máy chủ trung gian (edge server) khắp nơi, giảm khoảng cách vật lý giữa server và người dùng.
Luồng cơ bản: Request → Edge Server gần nhất → Kiểm tra cache → Nếu cache hit: trả về ngay (vài ms). Nếu cache miss: qua WAF → Origin Server → lưu cache → trả về.
Tại sao khoảng cách quan trọng? Tín hiệu ánh sáng truyền 1000km mất ~5ms. Server Mỹ phục vụ người dùng Việt Nam: 200–300ms RTT. Edge server tại Singapore: 20–40ms RTT — nhanh hơn 10 lần.
02 — CDN (Content Delivery Network)
CDN là hệ thống các máy chủ phân tán khắp thế giới (gọi là PoP — Point of Presence). Mỗi PoP chứa nhiều edge server làm nhiệm vụ lưu và phân phối bản sao nội dung đến người dùng từ vị trí địa lý gần nhất.
Trung tâm dữ liệu đặt tại các thành phố lớn. Mỗi PoP chứa nhiều edge server, bộ nhớ cache và thiết bị mạng. Cloudflare có 300+ PoP, Akamai có 4000+.
Kỹ thuật định tuyến tự động dẫn request đến PoP gần nhất. Tất cả PoP dùng chung 1 địa chỉ IP — router mạng tự quyết định PoP tối ưu dựa trên BGP routing table.
Server gốc chứa nội dung gốc và xử lý logic động (DB, API). CDN chỉ cache nội dung tĩnh. Origin được ẩn sau CDN — IP thật không bị lộ ra ngoài.
CDN phân phối traffic đều qua nhiều edge server trong cùng PoP. Nếu một server lỗi, traffic tự động chuyển sang server khác (High Availability).
| Nhà cung cấp | Số PoP | Đặc điểm nổi bật | Phù hợp với |
|---|---|---|---|
| Cloudflare | 300+ | Free tier, WAF tích hợp, DDoS mạnh nhất | Startup → Enterprise |
| AWS CloudFront | 600+ | Tích hợp sâu AWS, Lambda@Edge | AWS ecosystem |
| Akamai | 4000+ | Mạng lớn nhất, SLA cao nhất | Enterprise lớn |
| Fastly | 90+ | Real-time cache purge <150ms | Media, E-commerce |
| Google Cloud CDN | 200+ | HTTP/3 tốt, tích hợp GCP | GCP users |
03 — HTTPS / TLS
HTTPS = HTTP + TLS (Transport Layer Security). Mọi dữ liệu truyền giữa browser và server đều được mã hóa. CDN thực hiện TLS termination tại edge — giải mã ở đây, giảm tải cho origin.
Chỉ cần 1 RTT handshake (TLS 1.2 cần 2 RTT). Hỗ trợ 0-RTT cho reconnection. Loại bỏ toàn bộ cipher yếu (RSA key exchange, SHA-1, RC4). Mặc định trên CDN hiện đại.
CDN tự động cấp và gia hạn cert (Let's Encrypt hoặc cert riêng). Hỗ trợ Wildcard (*.example.com), SAN (nhiều domain), và mTLS (xác thực 2 chiều).
HTTP/2: multiplexing (nhiều request cùng 1 connection), header compression (HPACK). HTTP/3: dùng QUIC/UDP, không bị head-of-line blocking, nhanh hơn trên mạng không ổn định.
HTTP Strict Transport Security — buộc browser chỉ dùng HTTPS trong tương lai. Header: Strict-Transport-Security: max-age=31536000; includeSubDomains. CDN set tự động.
Lưu ý thực tế: Kết nối từ Edge → Origin có thể dùng HTTP (trong private network) hoặc HTTPS. Nếu origin ở public internet, bắt buộc dùng HTTPS để tránh lộ dữ liệu trên đường truyền edge → origin.
04 — WAF (Web Application Firewall)
WAF là lớp bảo vệ hoạt động ở tầng 7 (Application Layer) của mô hình OSI. Nó phân tích nội dung từng HTTP request và response, phát hiện và block các pattern tấn công trước khi chúng đến server.
Các loại tấn công WAF phòng chống
Chèn câu lệnh SQL vào input: ?id=1' OR '1'='1, '; DROP TABLE users;--. Kẻ tấn công có thể đọc/xóa toàn bộ database. WAF detect bằng regex pattern matching và semantic analysis.
Chèn JavaScript: <script>document.cookie</script> vào trang web để đánh cắp session, redirect user, hoặc thực thi code tùy ý trong browser nạn nhân. WAF sanitize payload trước khi lưu/hiển thị.
Gửi hàng triệu request đồng thời từ botnet để làm server quá tải. WAF + CDN hấp thụ traffic tại nhiều PoP (anycast scrubbing), rate-limit theo IP/ASN, phân biệt bot vs người thật bằng ML fingerprinting.
Truy cập file nhạy cảm: ../../../../etc/passwd, /proc/self/environ. WAF normalize URL path (decode %2e, %2f), loại bỏ các ký tự .. và block pattern nguy hiểm.
Bot tự động thử hàng nghìn username/password bị lộ từ data breach. WAF phát hiện qua TLS JA3 fingerprint, HTTP/2 fingerprint, behavioral analysis, và challenge CAPTCHA khi vượt threshold.
05 — Cache
Cache lưu bản sao nội dung tại edge server. Khi có request, edge kiểm tra cache trước — nếu có (cache hit) trả về ngay trong vài ms, không cần đi về origin (có thể mất 200ms+).
Cache Control Headers
| HTTP Header | Ví dụ | Ý nghĩa chi tiết |
|---|---|---|
Cache-Control |
max-age=86400 | Cache 86400 giây (1 ngày). Sau khi hết hạn, revalidate với origin bằng ETag hoặc Last-Modified. |
Cache-Control |
no-store | Tuyệt đối không cache. Dùng cho dữ liệu nhạy cảm (thông tin ngân hàng, hồ sơ cá nhân). |
Cache-Control |
s-maxage=3600 | Chỉ dành cho shared cache (CDN). Override max-age cho CDN nhưng không ảnh hưởng browser cache. |
ETag |
"abc123def456" | Fingerprint (hash) của nội dung. Browser gửi If-None-Match, server trả 304 Not Modified nếu chưa đổi — tiết kiệm bandwidth hoàn toàn. |
Last-Modified |
Wed, 09 Apr 2026 10:00:00 GMT | Thời điểm file thay đổi lần cuối. Browser revalidate bằng If-Modified-Since. |
Vary |
Accept-Encoding | Lưu cache riêng cho từng giá trị header. Vd: file gzip và brotli được cache riêng biệt. |
X-Cache |
HIT MISS | Header CDN trả về để biết request đến từ cache hay origin. Công cụ debug quan trọng — xem trong DevTools → Network. |
Nên cache gì? Không nên cache gì?
06 — Rules
Rules là tập hợp các quy tắc logic dạng IF–THEN, giúp CDN quyết định cách xử lý từng request: redirect, rewrite URL, block, bypass cache, hay inject header. Được thực thi tại edge trước khi request đến origin.
Ví dụ Rules thực tế
IF scheme == "http" → THEN redirect 301 sang https:// cùng URL. Đảm bảo 100% traffic đi qua kênh mã hóa, phối hợp với HSTS.
IF URI matches *.jpg | *.png | *.webp | *.woff2 | *.css | *.js → THEN Cache-Control: max-age=2592000, public, immutable. Dùng content hash trong tên file để bust cache khi deploy.
IF URI starts_with "/admin" OR "/dashboard" OR Cookie contains "session_" → THEN Cache-Control: no-store; bypass=true. Dữ liệu cá nhân tuyệt đối không được lưu tại edge.
IF URI == "/api/login" AND requests > 10/minute per IP → THEN 429 Too Many Requests + Retry-After: 60. Chống brute force và credential stuffing.
IF ip.geoip.country NOT IN ["VN","SG","TH","PH"] → THEN block 403 hoặc redirect sang trang thông báo. Hạn chế truy cập theo vùng địa lý để tuân thủ pháp lý.
IF URI !matches file extension AND URI !starts_with "/api" → THEN rewrite tới /index.html. Cho phép React Router / Vue Router hoạt động với client-side routing.
07 — Interactive Demo
Nhấn "Gửi request" để mô phỏng luồng xử lý thực tế. Quan sát sự khác biệt latency giữa cache hit (vài ms từ edge Singapore) và cache miss (100ms+ từ origin US).
Tổng kết
Kết luận: CDN hiện đại không chỉ là công cụ tăng tốc — đó là hạ tầng bảo mật, tối ưu và quản lý traffic toàn diện. Kết hợp HTTPS + WAF + Cache + Rules, CDN xử lý hàng triệu req/s, bảo vệ khỏi tấn công quy mô lớn, đảm bảo người dùng ở bất kỳ đâu cũng có trải nghiệm nhanh và an toàn.