Bạn đang lưu ảnh tại Vultr Object Storage và muốn tạo một hệ thống CDN ảnh riêng (dùng domain như cdn.domain.com
) có:
✅ Tốc độ nhanh toàn cầu
✅ HTTPS đầy đủ
✅ Ẩn hoàn toàn URL gốc từ Vultr
✅ Không cần dùng dịch vụ CDN trả phí
Bạn sẽ kết hợp: Cloudflare CDN + Nginx Reverse Proxy + Vultr Object Storage.
Client (trình duyệt)
↓
cdn.domain.com (qua Cloudflare proxy + HTTPS)
↓
Cloudflare Edge Cache (toàn cầu)
↓
Nginx Reverse Proxy (server của bạn)
↓
Vultr Object Storage (nguồn ảnh gốc)
mybucket
)cdn.domain.com
cdn.domain.com
về VPSdomain.com
)A
cdn
sudo mkdir -p /var/cache/nginx/vultr_cache
/etc/nginx/sites-available/cdn.domain.com
proxy_cache_path /var/cache/nginx/vultr_cache levels=1:2 keys_zone=cloudflare_cache:100m inactive=24h max_size=1g;
server {
listen 80;
server_name cdn.domain.com;
location / {
proxy_pass https://ewr1.vultrobjects.com/mybucket/;
proxy_set_header Host ewr1.vultrobjects.com;
proxy_cache cloudflare_cache;
proxy_cache_key "$host$request_uri";
proxy_cache_valid 200 301 302 1d;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
proxy_cache_lock on;
add_header X-Cache $upstream_cache_status;
add_header Access-Control-Allow-Origin *;
}
}
⚠️ Thay
ewr1.vultrobjects.com
vàmybucket
bằng endpoint & bucket thật từ Vultr.
sudo ln -s /etc/nginx/sites-available/cdn.domain.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Mặc dù Cloudflare proxy HTTPS, bạn vẫn cần cài SSL trên Nginx để dùng chế độ
Full (strict)
– bảo mật cao nhất.
sudo ufw allow 80
sudo ufw allow 443
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d cdn.domain.com
✔️ Nếu thành công, Certbot sẽ tự thêm block
listen 443 ssl
và cấu hình SSL.
cdn.domain.com/*
→ Cache Level: Cache Everything
→ Edge Cache TTL: 1 month
Truy cập thử:
https://cdn.domain.com/path/to/image.jpg
Sau đó kiểm tra header:
curl -I https://cdn.domain.com/path/to/image.jpg
Bạn nên thấy:
X-Cache: HIT
hoặc MISS
(cache Nginx)CF-Cache-Status: HIT
(cache Cloudflare)Tính năng | Đã có |
---|---|
Domain CDN riêng (SSL) | ✅ |
Ẩn endpoint Vultr | ✅ |
Cache 2 lớp (Cloudflare + Nginx) | ✅ |
Chi phí rẻ, kiểm soát tốt | ✅ |
Mở rộng dễ dàng | ✅ |
Bạn có thể:
certbot renew
)/image.jpg?w=300
)X-Accel-Redirect
để xử lý cache đặc biệt/etc/nginx/sites-available/cdn.domain.com
/var/cache/nginx/vultr_cache/
Bạn đã hoàn thành việc tạo hệ thống CDN ảnh riêng miễn phí kết hợp: