Tra Tên Miền Tra tên miền còn trống, xem giá trước khi mua
🧭 DNS và trỏ tên miền · · 👤 Tra Tên Miền · 👁 14 lượt xem

CNAME vs A record: Khi nào dùng cái nào để trỏ subdomain

CNAME và A record đều trỏ được tên miền, nhưng chúng hoạt động khác nhau. Chọn sai loại có thể khiến subdomain không hoạt động hoặc gây xung đột DNS.

CNAME vs A record: Khi nào dùng cái nào để trỏ subdomain

Sự khác biệt cơ bản giữa CNAME và A record

Bản ghi A trỏ tên miền đến một địa chỉ IP cụ thể. Bản ghi CNAME trỏ tên miền đến một tên miền khác. Điều này nghe có vẻ nhỏ nhặt, nhưng nó quyết định được hay không trong những tình huống cụ thể.

Khi bạn dùng A record, bạn nói cho DNS: "Tên này trỏ đến IP này". Khi dùng CNAME, bạn nói: "Tên này thực chất là tên kia". Máy chủ DNS sẽ tìm kiếm IP của tên kia rồi trả về cho trình duyệt.

Khi nào nên dùng CNAME

CNAME phù hợp khi bạn muốn trỏ subdomain về một dịch vụ bên ngoài: Cloudflare, GitHub Pages, Vercel, hay bất kỳ nền tảng nào yêu cầu bạn sử dụng tên miền của họ thay vì IP tĩnh.

Ví dụ: Bạn muốn trỏ blog.yoursite.com về GitHub Pages. GitHub sẽ cho bạn một tên miền như yourname.github.io. Bạn tạo bản ghi CNAME cho blog.yoursite.com và trỏ nó về yourname.github.io. Nếu GitHub thay đổi IP server của họ, bạn không cần cập nhật. CNAME sẽ tự động theo dõi.

CNAME cũng hữu ích khi bạn muốn chuyển subdomain giữa các hosting mà không lo lắng về sự thay đổi IP. Một lần cấu hình, rất ít thay đổi sau này.

Khi nào phải dùng A record

A record cần thiết khi bạn trỏ trực tiếp đến một IP cụ thể. Nếu hosting của bạn cung cấp một IP tĩnh (IP không thay đổi), dùng A record là lựa chọn đơn giản và trực tiếp.

Nhưng có một giới hạn quan trọng: bạn không thể dùng CNAME cho tên miền gốc. Tên miền gốc là tên miền không có subdomain, ví dụ yoursite.com (không có "www" hay gì khác). Nếu bạn cần trỏ tên miền gốc, A record là bắt buộc.

Một số nhà cung cấp DNS (như Route 53, Cloudflare) hỗ trợ bản ghi ALIAS hoặc ANAME cho tên miền gốc, nhưng đó là mở rộng riêng, không phải DNS tiêu chuẩn.

Lỗi phổ biến: Dùng CNAME ở tên miền gốc

Một sai lầm thường gặp là thử dùng CNAME cho tên miền gốc. Khi làm vậy, bản ghi CNAME sẽ bị bỏ qua, và tên miền gốc sẽ không hoạt động. Máy chủ DNS coi đó là vi phạm tiêu chuẩn DNS.

Nếu bạn cần trỏ cả tên miền gốc lẫn subdomain www về cùng một nơi:

  • Tên miền gốc (yoursite.com): dùng A record trỏ về IP của hosting
  • Subdomain www (www.yoursite.com): có thể dùng CNAME trỏ về tên miền gốc hoặc A record cùng IP

Xung đột DNS khi trộn lẫn CNAME với bản ghi khác

Bạn không thể tạo CNAME và bản ghi khác (A, MX, TXT) cho cùng một tên miền. DNS sẽ từ chối hoặc sẽ có hành vi không dự đoán được.

Ví dụ: Nếu bạn đã tạo CNAME cho mail.yoursite.com trỏ về mail.provider.com, bạn không thể thêm bản ghi MX cho mail.yoursite.com. Điều này hiếm khi cần thiết, nhưng có thể gây nhầm lẫn nếu bạn quản lý nhiều subdomain.

Thời gian cập nhật bản ghi

Cả A record và CNAME đều tuân theo TTL (Time To Live). TTL là khoảng thời gian mà máy tính client hoặc DNS cache lưu giữ bản ghi. Nếu TTL là 3600 giây (1 giờ), thì sau khi bạn cập nhật bản ghi, có thể mất tới 1 giờ để thay đổi đó lan tỏa ra toàn bộ internet.

Một số nhà cung cấp DNS cho phép bạn giảm TTL trước khi thay đổi, từ đó giảm thời gian chờ đợi. Tuy nhiên, TTL thấp cũng có chi phí: tăng số lượng truy vấn DNS, tiêu tốn băng thông.

Cách kiểm tra CNAME hoặc A record đã hoạt động chưa

Sử dụng lệnh nslookup hoặc dig từ dòng lệnh:

  • nslookup subdomain.yoursite.com sẽ hiển thị IP hoặc tên miền mà subdomain đang trỏ tới
  • dig subdomain.yoursite.com +short trả về kết quả ngắn gọn hơn

Nếu bạn không quen dùng dòng lệnh, các trang web như MXToolbox hay DNSChecker cung cấp giao diện web để kiểm tra bản ghi DNS. Gõ tên miền hoặc subdomain, chọn loại bản ghi (A hoặc CNAME), rồi nhấn tìm kiếm.

Kết quả sẽ cho bạn biết bản ghi hiện tại là gì, TTL còn lại bao lâu, và liệu nó có được phổ biến trên các máy chủ DNS khác nhau hay chưa. Nếu kết quả khác nhau giữa các máy chủ DNS, có thể bạn mới cập nhật bản ghi chưa lâu và nó vẫn đang lan tỏa.

Xem kho tên miền đã thẩm định tại Tên Miền Đẳng Cấp.

Tên miền bạn muốn còn trống không?
Tra cứu miễn phí tình trạng, thông tin whois và giá đăng ký của mọi tên miền — quốc tế và .vn.
Tra cứu tên miền ngay

❓ Câu hỏi thường gặp

Tại sao không dùng CNAME cho tên miền gốc được?
Tiêu chuẩn DNS không cho phép CNAME ở tên miền gốc vì nó xung đột với cách DNS xử lý các bản ghi khác (A, MX, TXT). Máy chủ DNS sẽ bỏ qua CNAME nếu nó được đặt ở tên miền gốc. Phải dùng A record hoặc ALIAS (mở rộng không chuẩn) thay thế.
Bản ghi A và CNAME nên chọn cái nào?
Dùng A record nếu bạn có IP tĩnh từ hosting. Dùng CNAME nếu bạn trỏ về dịch vụ bên ngoài (GitHub Pages, Vercel, Cloudflare) cung cấp tên miền thay vì IP. CNAME tiện hơn vì nó tự động theo dõi thay đổi IP của dịch vụ đó.
Mất bao lâu để A record hoặc CNAME hoạt động?
Thường 15 phút đến 1 giờ, tùy TTL của bản ghi. TTL cao (3600 giây) có thể khiến thay đổi mất lâu, nhưng tránh được tải DNS. Bạn có thể kiểm tra tình trạng lan tỏa bằng MXToolbox hoặc lệnh dig/nslookup.
Có thể tạo cả CNAME và A record cho cùng tên miền không?
Không, DNS sẽ từ chối hoặc gây hành vi không dự đoán. Một tên miền chỉ có thể có một CNAME hoặc một A record (cùng với các bản ghi khác như MX, TXT, nhưng không cùng lúc với CNAME).
Làm sao kiểm tra subdomain đã trỏ đúng chưa?
Dùng nslookup subdomain.yoursite.com hoặc dig subdomain.yoursite.com +short trên máy tính. Ngoài web có MXToolbox, DNSChecker. Nếu kết quả trống hoặc lỗi, bản ghi chưa hoạt động hoặc chưa được cập nhật.
🏷 Tags: bản ghi A record bản ghi CNAME cấu hình dns kiểm tra bản ghi dns lan truyền DNS lỗi DNS phổ biến tên miền gốc trỏ subdomain ttl dns xung đột bản ghi DNS
Thiện Hồ Sáng lập Tên Miền Đẳng Cấp · 68K+ followers · Expert đầu tư tên miền

💎 Tìm tên miền cho dự án của bạn?

Duyệt 1.895+ domain premium .com .net .org .vn .com.vn .gd

→ Khám phá ngay

📚 Bài viết liên quan