30 tháng 9, 2026 · 6 phút đọc
Cách dùng tên miền riêng cho liên kết tệp trong bucket
Một liên kết như https://files.example.com/report.pdf trông đáng tin, vẫn hoạt động khi bạn đổi nhà cung cấp lưu trữ, và không để lộ tên bucket. Mọi nhà cung cấp lớn đều có thể phục vụ bucket trên tên miền của bạn với HTTPS, nhưng mỗi nơi làm một kiểu.
Cloudflare R2
Đơn giản nhất. Tên miền phải là một zone trong cùng tài khoản Cloudflare với bucket.
- Mở Settings của bucket và chọn Add trong Custom Domains.
- Nhập
files.example.com, xem lại bản ghi DNS và chọn Connect Domain.
Cloudflare tự tạo bản ghi DNS và chứng chỉ cho bạn. Chi tiết trong bài công khai bucket R2.
Amazon S3 với CloudFront
Bản thân S3 không thể phục vụ HTTPS trên tên miền riêng, nên bạn đặt CloudFront phía trước:
- Yêu cầu chứng chỉ cho
files.example.comtrong AWS Certificate Manager ở vùng us-east-1 (CloudFront chỉ dùng chứng chỉ từ vùng này) và xác thực qua DNS. - Tạo một CloudFront distribution với bucket làm origin và Origin access control, để bucket vẫn riêng tư. Áp dụng bucket policy mà CloudFront đề xuất.
- Thêm
files.example.comlàm alternate domain name và chọn chứng chỉ. - Tại nhà cung cấp DNS, tạo CNAME từ
filesđến địa chỉd….cloudfront.netcủa distribution.
Endpoint static website của S3 cũng chấp nhận CNAME, nhưng chỉ qua HTTP thường và chỉ khi bucket được đặt tên giống hệt tên miền, nên CloudFront là lựa chọn tốt hơn.
DigitalOcean Spaces
Bật CDN cho Space và thêm custom subdomain trong phần cài đặt. Nếu DNS của tên miền do DigitalOcean quản lý, nó có thể tự cấp chứng chỉ Let's Encrypt; nếu không, hãy tải lên chứng chỉ của riêng bạn. Sau đó tệp được phục vụ từ https://files.example.com/key.
Backblaze B2
B2 phục vụ tệp công khai tại URL dạng https://f003.backblazeb2.com/file/your-bucket/key. Để dùng tên miền riêng, cách phổ biến là qua Cloudflare: thêm một CNAME qua proxy từ files.example.com đến host f00X.backblazeb2.com của bucket, rồi thêm một rewrite rule chèn /file/your-bucket vào trước đường dẫn. Backblaze có tài liệu về cách thiết lập này và không tính phí tải xuống với lưu lượng đi qua Cloudflare.
Khi tên miền đã hoạt động
- Mở một tệp tại
https://files.example.com/<key>trong cửa sổ trình duyệt ẩn danh để xác nhận tệp đã công khai. - Dùng tên miền làm URL gốc ở mọi nơi bạn tạo liên kết, để mọi liên kết chia sẻ đều dùng nó.
- Tiếp tục tải lên qua endpoint API của nhà cung cấp. Tên miền riêng chỉ dùng để đọc.
Câu hỏi thường gặp
Tôi có thể dùng tên miền gốc thay vì tên miền con không?
Thường là được trên Cloudflare R2, vốn có thể gắn tên miền gốc (apex). Phần lớn các thiết lập khác dựa vào CNAME, vốn đơn giản hơn trên tên miền con như files.example.com.
Liên kết cũ có bị hỏng khi tôi thêm tên miền riêng không?
Không. Địa chỉ gốc của nhà cung cấp vẫn hoạt động song song với tên miền riêng. Chỉ những liên kết bạn tạo sau đó mới dùng tên miền mới.
Tôi có thể chuyển sang nhà cung cấp khác mà vẫn giữ liên kết không?
Có, đó là một trong những lý do tốt nhất để dùng tên miền riêng. Sao chép tệp sang bucket mới với cùng khóa, trỏ tên miền đến bucket đó, và các liên kết hiện có vẫn hoạt động.