Tài liệu kỹ thuật

Content Delivery
Network — CDN

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.

📍 7 chủ đề 🔒 HTTPS / TLS 1.3 🛡️ WAF ⚡ Cache & Rules 🧪 Interactive Demo

01 — Tổng quan

Kiến trúc CDN
hoạt động như thế nào?

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 request qua CDN — tổng quan
👤 Người dùng Hà Nội, VN request 🌐 Edge Server Singapore PoP ✓ CACHE HIT MISS → origin hit! 🛡️ WAF Lọc request độc hại miss 🔒 HTTPS / TLS 1.3 🖥️ Origin Server US-East Xử lý động, DB Trả về nội dung response + lưu cache Request đến Cache Hit (nhanh) Cache Miss → Origin

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)

Mạng phân phối
nội dung toàn cầu

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.

🗺️ Mạng lưới PoP toàn cầu
NY New York BR São Paulo LON London FRA SGP ← VN gần nhất TYO Tokyo SYD Sydney BOM Mumbai 🖥️ Origin US-East PoP / Edge Server Gần VN nhất
🌐

PoP (Point of Presence)

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+.

📡

Anycast Routing

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.

🖥️

Origin Server

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.

⚖️

Load Balancing

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ấpSố PoPĐặc điểm nổi bậtPhù hợp với
Cloudflare300+Free tier, WAF tích hợp, DDoS mạnh nhấtStartup → Enterprise
AWS CloudFront600+Tích hợp sâu AWS, Lambda@EdgeAWS ecosystem
Akamai4000+Mạng lớn nhất, SLA cao nhấtEnterprise lớn
Fastly90+Real-time cache purge <150msMedia, E-commerce
Google Cloud CDN200+HTTP/3 tốt, tích hợp GCPGCP users

03 — HTTPS / TLS

Bảo mật kết nối
với 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.

🔒 TLS 1.3 Handshake — từng bước chi tiết
👤 CLIENT 🌐 EDGE (CDN) 🖥️ ORIGIN ① Client Hello TLS version, cipher suites, random nonce ② Server Hello + Certificate Chọn cipher suite, gửi public key cert (X.509) ③ Key Exchange (ECDHE) Diffie-Hellman để tạo session key bí mật ④ Finished — TLS Established 🔒 (~1 RTT) ── TLS Handshake hoàn tất ── ⑤ GET /page (Encrypted) Cache HIT? → trả về ⑥ Forward (HTTP nội bộ) ⑦ 200 OK response ⑧ Response (Encrypted) 🔒 TLS Termination tại Edge • Giải mã tại edge, không tại origin • Giảm CPU mã hóa cho origin • SSL cert quản lý tập trung • Origin nhận HTTP nội bộ
🔐

TLS 1.3 — Chuẩn mới nhất

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.

📜

SSL Certificate

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 & HTTP/3

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.

⚠️

HSTS

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)

Tường lửa ứng dụng
web — WAF

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.

🛡️ WAF — Phân loại và xử lý request
REQUESTS ĐẾN ✓ GET /index.html ✗ ?id=1' OR '1'='1 ✗ <script>alert(1)</script> ✗ 10,000 req/s — 1 IP ✗ /../../../etc/passwd ⚠ Bot scraper User-Agent 🛡️ WAF Engine OWASP Core Rule Set (CRS) Rate Limiting Engine Bot Detection (ML model) IP Reputation Database Geo-blocking Rules 🚫 BLOCKED 403 Forbidden block 🤔 CHALLENGE CAPTCHA / JS test suspect ✓ ALLOW → Origin Server clean

Các loại tấn công WAF phòng chống

01

SQL Injection (SQLi)

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.

02

Cross-Site Scripting (XSS)

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ị.

03

DDoS — Distributed Denial of Service

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.

04

Path Traversal / LFI (Local File Inclusion)

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.

05

Credential Stuffing & Brute Force

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

Cơ chế lưu đệm
nội dung tại edge

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+).

⚡ Vòng đời Cache — Cache Lifecycle
EMPTY Chưa có cache request 💾 CACHE MISS Lấy từ origin ~120–300ms lưu cache CACHE HIT Trong TTL ~3–10ms 🚀 tiếp tục HIT TTL hết STALE Hết hạn Revalidate origin 304 Not Modified → refresh TTL 200 Changed → fetch mới 🗑 PURGE / Invalidate

Cache Control Headers

HTTP HeaderVí 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ì?

✅ Nên cache (nội dung tĩnh)
+ Hình ảnh, video (jpg, png, webp, mp4…)
+ CSS, JavaScript, Web fonts (.woff2)
+ HTML tĩnh, trang landing page
+ File PDF, tài liệu tải về
+ API response ít thay đổi (danh mục, config)
❌ Không nên cache (nội dung động)
Dashboard, thông tin tài khoản cá nhân
Giỏ hàng, checkout, trang thanh toán
API real-time (giá, tỷ giá, thông báo)
Session token, cookie xác thực
POST, PUT, DELETE request (luôn luôn)

06 — Rules

Rules — Bộ não
điều hướng CDN

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.

⚙️ Rule Engine Pipeline — thứ tự xử lý
📥 REQUEST từ browser ① WAF Rules Block SQLi, XSS Rate limiting IP blocklist Bot detection ② Transform URL rewrite Redirect 301/302 Header inject Query normalize ③ Cache Rules Kiểm tra cache Set / override TTL Bypass conditions Cache key config ④ Route Rules Load balance Origin select Failover / HA A/B testing ORIGIN (if miss) Bảo mật Biến đổi Tối ưu Định tuyến

Ví dụ Rules thực tế

R1

Redirect HTTP → HTTPS

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.

R2

Cache static assets 30 ngày

IF URI matches *.jpg | *.png | *.webp | *.woff2 | *.css | *.jsTHEN Cache-Control: max-age=2592000, public, immutable. Dùng content hash trong tên file để bust cache khi deploy.

R3

Bypass cache cho trang động

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.

R4

Rate limit login endpoint

IF URI == "/api/login" AND requests > 10/minute per IPTHEN 429 Too Many Requests + Retry-After: 60. Chống brute force và credential stuffing.

R5

Geo-blocking theo quốc gia

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ý.

R6

URL Rewrite cho Single-Page App

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

Mô phỏng
Cache Hit / Miss

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).

CDN Cache Simulator — Edge: Singapore PoP Hit rate: —
GET https://cdn.example.com /assets/logo.png 🔒 TLS 1.3 · HTTP/2
0
CACHE HIT
0
CACHE MISS
LATENCY
// Simulator sẵn sàng. Nhấn "Gửi request" để bắt đầu...
Cache HIT (3–10ms từ edge) Cache MISS (120–300ms từ origin) Stale → Revalidate (20–55ms) Info / Cached

Tổng kết

Tất cả kết hợp lại

🔄 Full CDN Stack — kiến trúc hoàn chỉnh
👤 User Browser 🔒 HTTPS TLS 1.3 🛡️ WAF Lọc threats ⚙️ Rules Redirect, rewrite Cache Hit → trả ngay miss 🖥️ Origin Server gốc ━━━━━━━━━━━━━ CDN Layer — Edge Server ━━━━━━━━━━━━━

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.