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.

  1. Mở Settings của bucket và chọn Add trong Custom Domains.
  2. 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:

  1. Yêu cầu chứng chỉ cho files.example.com trong 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.
  2. 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.
  3. Thêm files.example.com làm alternate domain name và chọn chứng chỉ.
  4. Tại nhà cung cấp DNS, tạo CNAME từ files đến địa chỉ d….cloudfront.net củ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.