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.
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.comsẽ hiển thị IP hoặc tên miền mà subdomain đang trỏ tớidig subdomain.yoursite.com +shorttrả 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.
❓ Câu hỏi thường gặp
Tại sao không dùng CNAME cho tên miền gốc được?
Bản ghi A và CNAME nên chọn cái nào?
Mất bao lâu để A record hoặc CNAME hoạt động?
Có thể tạo cả CNAME và A record cho cùng tên miền không?
Làm sao kiểm tra subdomain đã trỏ đúng chưa?
💎 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
Tại sao không nên dùng dấu gạch ngang trong tên miền (dù vẻ ngoài có sạch hơn)
Dấu gạch ngang khiến tên miền dễ nhớ hơn trên giấy, nhưng tạo ra một loạt bất tiện thực tế…
Thứ tự ưu tiên khi cấu hình DNS: Bản ghi nào phải đặt trước?
Không phải tất cả bản ghi DNS đều có tầm quan trọng ngang nhau. Hiểu rõ thứ tự ưu tiên giú…
Dấu gạch ngang trong tên miền: Khi nào là lựa chọn, khi nào là rủi ro
Tên miền có dấu gạch ngang dễ nhớ nhưng lại tạo ra những phiền toái bất ngờ: khó gõ, dễ nh…