Bản ghi CNAME là một thành phần cốt lõi trong hệ thống quản lý tên miền DNS, giúp bạn liên kết các tên miền phụ một cách linh hoạt và dễ dàng. Vậy thực chất CNAME là gì, cơ chế hoạt động ra sao và làm thế nào để cài đặt chính xác mà không […]
CNAME record là gì: Là bản ghi DNS dùng để tạo alias, cho phép subdomain hoặc tên miền khác trỏ đến một tên miền/hostname chính thay vì trỏ trực tiếp đến địa chỉ IP.
Quy trình phân giải DNS đối với bản ghi CNAME: Gồm 3 bước từ khi DNS Resolver nhận yêu cầu phân giải, xác định alias và hostname đích đến khi lấy địa chỉ IP từ A/AAAA Record.
Cấu trúc của bản ghi CNAME: Gồm Name/Host là alias, Type là CNAME, Target/Value là hostname đích và TTL là thời gian lưu bản ghi trong DNS cache.
Lợi ích khi dùng CNAME: Dễ quản lý khi IP thay đổi, tạo nhiều alias, kết nối các dịch vụ như GitHub Pages, WordPress, Google Sites và hỗ trợ xác thực tên miền.
Hạn chế khi dùng CNAME: Không dùng được cho root domain, không trỏ trực tiếp đến IP, có thể tăng thời gian phân giải, gây vòng lặp hoặc xung đột với A, TXT, MX trên cùng hostname.
Hướng dẫn sử dụng CNAME: Hướng dẫn cách tạo CNAME cho subdomain, tạo CNAME để xác thực các dịch vụ trực tuyến, thêm CNAME, nhập thông tin trên CNAME, cập nhật bản ghi CNAME và xóa CNAME.
Cách kiểm tra CNAME đã hoạt động chưa: Kiểm tra hostname đích của CNAME bằng nslookup, dig hoặc các công cụ DNS trực tuyến.
Phân biệt CNAME với A Record: Bản ghi A Record ánh xạ tên miền trực tiếp tới một địa chỉ IP, trong khi bản ghi CNAME trỏ tên miền này sang một tên miền khác.
Phân biệt CNAME với Alias Record và Redirect: CNAME trỏ một tên miền sang một tên miền khác nhưng không dùng được cho tên miền gốc; Alias Record hoạt động giống CNAME nhưng trỏ được cho cả tên miền gốc; còn Redirect chuyển hướng người dùng từ URL này sang URL khác.
CNAME có được dùng cho tên miền gốc không: Không. CNAME không được dùng cho tên miền gốc ngoại trừ một số ít nhà cung cấp hỗ trợ cơ chế giải quyết riêng như ANAME hay ALIAS.
Các lỗi CNAME thường gặp và cách khắc phục: CNAME có thể lỗi do chưa tạo record, nhập sai Target, xung đột với bản ghi khác, DNS chưa cập nhật hoặc nhập IP thay vì hostname; cách xử lý là kiểm tra lại cấu hình và loại bản ghi.
Bản ghi CNAME là một thành phần cốt lõi trong hệ thống quản lý tên miền DNS, giúp bạn liên kết các tên miền phụ một cách linh hoạt và dễ dàng. Vậy thực chất CNAME là gì, cơ chế hoạt động ra sao và làm thế nào để cài đặt chính xác mà không gặp lỗi? Bài viết sau của Tenten sẽ giải đáp chi tiết cho bạn.
CNAME (Canonical Name Record) hay bản ghi CNAME là một loại bản ghi DNS dùng để tạo bí danh (alias), cho phép trỏ một tên miền phụ (subdomain) hoặc tên miền khác về một tên miền chính.
Bản ghi CNAME được dùng để chuyển hướng truy cập và kết nối tên miền với các dịch vụ hoặc máy chủ khác một cách thuận tiện mà không cần đổi địa chỉ IP thủ công.
Hiểu đơn giản, CNAME cho phép một tên miền trỏ đến một tên miền khác thay vì trỏ trực tiếp đến địa chỉ IP. Ví dụ:
www.example.com → CNAME → example.com
Trong trường hợp này, www.example.com là alias (tên bí danh), còn example.com là canonical name (tên miền chuẩn) mà alias trỏ đến. Nhờ đó, khi truy cập www.example.com, DNS có thể xác định tên miền đích là example.com và tiếp tục phân giải địa chỉ IP của tên miền này.

Khi DNS nhận yêu cầu truy cập một tên miền có bản ghi CNAME, hệ thống sẽ xác định tên miền đích rồi tiếp tục phân giải tên miền đó để tìm địa chỉ IP tương ứng.
Khi người dùng truy cập một tên miền có bản ghi CNAME, DNS sẽ xác định tên miền đích trước khi tiếp tục tìm địa chỉ IP tương ứng. Quy trình này có thể hiểu đơn giản qua 3 bước sau:

Giả sử DNS được cấu hình với các bản ghi sau:
www.example.com
↓ CNAME
example.com
↓ A Record
192.0.2.10
Trong ví dụ này, www.example.com là alias và example.com là canonical name. CNAME không trực tiếp chứa địa chỉ IP mà chỉ xác định tên miền đích. Resolver sau đó tiếp tục phân giải example.com để lấy địa chỉ IP từ bản ghi A. Theo RFC 1035, giá trị của bản ghi CNAME là một domain name xác định tên canonical/primary của alias.
Một bản ghi CNAME thường gồm các thành phần chính sau. Hiểu rõ từng trường giúp bạn dễ dàng đọc và cấu hình CNAME trong hệ thống DNS.
|
Thành phần |
Ý nghĩa |
|
Name/Host |
Tên alias cần tạo |
|
Type |
Loại bản ghi, chọn CNAME |
|
Target/Value |
Tên miền canonical mà alias trỏ đến |
|
TTL |
Thời gian DNS cache bản ghi |
CNAME Target là tên miền hoặc hostname mà alias được cấu hình để trỏ đến. Đây là giá trị quan trọng nhất xác định CNAME sẽ trỏ tới đâu.
Ví dụ:
www.example.com → CNAME → example.com
Trong đó, example.com là CNAME Target. Target phải là tên miền hoặc hostname, không phải địa chỉ IPv4 hay IPv6.
Bản ghi CNAME là một công cụ đắc lực trong quản lý hệ thống tên miền nhưng lại đi kèm với những hạn chế về hiệu suất và tính linh hoạt ở cấp độ tên miền gốc.
Dưới đây là những lợi ích nổi bật khi sử dụng CNAME:

Trước khi sử dụng CNAME, bạn cần cân nhắc kỹ các nhược điểm sau;
Dưới đây là hướng dẫn chi tiết cách tạo và cấu hình CNAME mà bạn có thể tham khảo.
Các bước tạo CNAME record rất đơn giản và dễ sử dụng
Bước 1: Đăng nhập DNS Control
Bước 2: Click vào Domain đã thêm vào hệ thống
Bước 3: Xuất hiện bảng thông tin
Bước 4: Nhập các giá trị yêu cầu để tạo bản ghi CNAME cho Subdomain
Trong đó:
Để xác định dịch vụ trực tuyến, bạn cũng cần thực hiện 4 bước như sau:
Bước 1: Đăng nhập DNS Control
Bước 2: Chọn Domain đã thêm vào hệ thống
Bước 3: Xuất hiện bảng thông tin
Bước 4: Điền các giá trị vào bảng thông tin

Để thêm bản ghi CNAME, bạn thực hiện theo các bước sau:
Bước 1: Trình chỉnh sửa bản ghi CNAME
Bước 2: Bấm “Thêm”
Bước 3: Chọn CNAME để thêm bản ghi mới

Thông tin trên CNAME record gồm hai phần là tên và nội dung. Bạn có thể đặt tùy ý theo nhu cầu của mình. Tên là tên miền mà bạn muốn đặt. Nội dung là tên máy chủ trỏ tới. Chú ý đây không phải là URL.

Bước 1: Trong trình chỉnh sửa bản ghi CNAME tìm bản ghi muốn sửa
Bước 2: Chọn biểu tượng bút chì
Bước 3: Cập nhật thông tin
Bước 4: Nhấp vào “Cập nhật bản ghi” để lưu lại
Bước 1: Nhấn vào trình sửa bản ghi. Tìm bản ghi CNAME muốn xóa
Bước 2: Click vào biểu tượng thùng rác để xác nhận để xóa bản ghi
Sau khi cấu hình CNAME, bạn nên kiểm tra lại bản ghi để xác nhận alias đã trỏ đúng đến hostname đích. Bạn có thể thực hiện CNAME record check bằng dòng lệnh hoặc các công cụ DNS trực tuyến.
Trên Windows, mở Command Prompt và chạy lệnh:
nslookup -type=CNAME www.example.com
Kết quả sẽ hiển thị bản ghi CNAME và tên miền đích tương ứng. Nếu kết quả trả về đúng hostname đã cấu hình, CNAME đang được phân giải theo thiết lập.
Trên Linux, macOS hoặc hệ thống có hỗ trợ dig, sử dụng:
dig CNAME www.example.com
Kiểm tra ANSWER SECTION trong kết quả. Nếu phần này hiển thị www.example.com cùng hostname đích, bản ghi CNAME đã được DNS trả về chính xác.
Bạn cũng có thể sử dụng các công cụ kiểm tra DNS trực tuyến mà không cần chạy lệnh. Cách thực hiện gồm:

CNAME và A Record (Address Record) là hai loại bản ghi DNS cơ bản, khác nhau chủ yếu ở đối tượng mà chúng trỏ đến.
Dưới đây là bảng so sánh chi tiết giúp bạn dễ dàng phân biệt CNAME vs A Record:
|
Đặc điểm |
A Record (Address Record) |
CNAME Record (Canonical Name) |
|
Cách hoạt động |
Trỏ một tên miền trực tiếp đến một Địa chỉ IP (IPv4) |
Trỏ một tên miền đến một Tên miền khác (Alias) |
|
Giá trị đích (Target) |
Ví dụ: 192.0.2.1 |
Ví dụ: example.com hoặc ://google.com |
|
Tốc độ phân giải |
Nhanh hơn (DNS trả về IP ngay lập tức trong 1 lần truy vấn) |
Chậm hơn một chút (DNS phải giải quyết tên miền đích trước rồi mới tìm ra IP) |
|
Quản lý khi IP đổi |
Khó khăn hơn (Phải cập nhật thủ công từng bản ghi A nếu IP máy chủ thay đổi) |
Dễ dàng hơn (Chỉ cần cập nhật ở tên miền gốc, các CNAME trỏ về nó tự động đi theo) |
|
Sử dụng cho Domain gốc |
Có thể dùng cho domain gốc, ví dụ: yourdomain.com |
Không thể dùng cho domain gốc theo tiêu chuẩn RFC, chỉ dùng cho subdomain |
Nên dùng Bản ghi A khi:
Nên dùng Bản ghi CNAME khi:
Dưới đây là bảng so sánh giúp bạn nắm bắt nhanh các điểm khác biệt cốt lõi giữa CNAME, Alias Record và Redirect:
|
Tiêu chí |
CNAME (Canonical Name) |
Alias Record (Bản ghi bí danh) |
Redirect (Chuyển hướng HTTP) |
|
Bản chất |
Bản ghi DNS trỏ một tên miền phụ sang một tên miền khác |
Bản ghi DNS trỏ tên miền (kể cả root domain) sang tài nguyên Cloud (AWS, Azure,…) |
Phản hồi từ Web Server (Mã 301/302) để chuyển user sang URL mới |
|
Cấp độ xử lý |
Tầng DNS (Domain Name System) |
Tầng DNS (Tính năng mở rộng của nhà cung cấp) |
Tầng HTTP (Ứng dụng/Web Server) |
|
Áp dụng cho Root Domain |
Không (Làm lỗi các bản ghi khác như MX) |
Có (Hỗ trợ hoàn hảo cho Apex/Root domain) |
Có (Chuyển hướng toàn bộ trang) |
|
Thay đổi URL trên trình duyệt |
Không thay đổi URL |
Không thay đổi URL |
Có thay đổi sang URL mới |
|
Hiệu năng & Tốc độ |
Chậm hơn (Mất thêm 1 lần truy vấn DNS để giải quyết tên miền đích) |
Nhanh hơn CNAME (Nhà cung cấp DNS tự phân giải ra IP ngay từ đầu) |
Chậm nhất (Phải thiết lập kết nối đến server rồi mới bị chuyển hướng) |
|
Trường hợp sử dụng chính |
Trỏ ://domain.com về dịch vụ bên thứ ba (Shopify, HubSpot, GitHub Pages…) |
Trỏ thẳng tên miền gốc (domain.com) vào Cloudfront, ALB, S3 bucket… |
Chuyển tên miền cũ sang tên miền mới, hoặc ép người dùng từ http sang https |
Không, bản ghi CNAME (Canonical Name) truyền thống không được phép sử dụng cho tên miền gốc (apex/root domain) như example.com.
CNAME phù hợp với subdomain vì một tên DNS chứa CNAME không được đồng thời chứa các bản ghi DNS thông thường khác:
Với tên miền gốc, CNAME truyền thống không được sử dụng theo cách tương tự subdomain do apex thường cần chứa các bản ghi DNS khác như SOA và NS.
Dưới đây là các sự cố phổ biến khi cấu hình bản ghi CNAME cùng với nguyên nhân và giải pháp khắc phục nhanh chóng:
|
Lỗi |
Nguyên nhân |
Cách khắc phục |
|
CNAME không trả về kết quả |
Chưa tạo hoặc nhập sai record |
Kiểm tra lại DNS |
|
CNAME trỏ sai đích |
Target không chính xác |
Đối chiếu hostname nhà cung cấp yêu cầu |
|
CNAME xung đột record |
Cùng hostname có record khác |
Xóa/sửa record xung đột |
|
CNAME chưa cập nhật |
DNS cache/chưa hoàn tất quá trình cập nhật |
Chờ DNS cập nhật và kiểm tra lại |
|
CNAME trỏ đến IP |
Nhập sai loại giá trị |
Dùng A/AAAA Record nếu cần trỏ IP |