Các bản ghi CNAME có khả năng cho phép một server sở hữu nhiều tên khác nhau. Vậy cụ thể hơn hãy cùng Vietnix tìm hiểu CNAME là gì? Quản lý CNAME như thế nào? với bài viết dưới đây.
Bản ghi CNAME là gì?
Bản ghi CNAME được dùng để đặt bí danh cho tên domain này bằng một cái tên miền khác. CNAME là viết tắt của cụm từ Canonical Name (tên quy chuẩn).
Lấy ví dụ, bạn sở hữu hai tên trang web là vietnix.vn
và www.vietnix.vn
. Cả hai cùng trỏ đến một ứng dụng và được host bởi cùng một server. Để tránh duy trì hai bản ghi khác nhau, bạn nên tạo:
- Bản ghi
A
chovietnix.vn
trỏ đến địa chỉ IP server - Bản ghi
CNAME
chowww.vietnix.vn
trỏ đếnvietnix.vn
.
Do đó, vietnix.vn
trỏ đến địa chỉ IP của server và www.vietnix.vn
trỏ đến cùng một địa chỉ qua vietnix.vn
. Nếu địa chỉ IP thay đổi, bạn chỉ cần cập nhật nó ở một vị trí. Cụ thể, chỉnh sửa bản ghi A cho vietnix.vn
, và www.vietnix.vn
sẽ tự động thay đổi theo.
Chú ý: Bản ghi CNAME phải luôn trỏ đến một tên miền khác. Chứ không bao giờ trực tiếp đến một địa chỉ IP.
Bản ghi DNS A được chỉ định bởi RFC 1035.
Hạn chế của bản ghi CNAME là gì?
- Bản ghi CNAME phải luôn trỏ đến một tên miền khác và không bao giờ trực tiếp đến một địa chỉ IP.
- Bản ghi CNAME không thể cùng tồn tại với bản ghi khác cùng tên. Không thể có cả bản ghi CNAME và TXT cho
www.vietnix.vn.
- Một CNAME có thể trỏ đến CNAME khác. Mặc dù điều này thường không được khuyến nghị vì có thể ảnh hưởng đến hiệu suất. Khi áp dụng, CNAME phải trỏ càng gần tên mục tiêu càng tốt để tránh các chi phí hiệu suất không cần thiết.
Định dạng bản ghi CNAME
Cấu trúc của một bản ghi A tuân theo định nghĩa định dạng tiêu chuẩn cấp cao được xác định RFC 1035. Phần RDATA bao gồm một yếu tố duy nhất:
Yếu tố | Mô tả |
Tên miền | Tên miền chỉ định tên chuẩn hoặc tên chính cho bản ghi. |
Trình bày theo chuẩn là:
CNAME <domain-name>
Trong đó <domain-name>
là một tên miền đủ điều kiện, chẳng hạn như vietnix.vn
.
Bản ghi CNAME được thể hiện bởi các yếu tố có thể tùy chỉnh sau:
Yếu tố | Mô tả |
Name | Hostname cho record (tên của CNAME) |
TTL | Time-to-live, tính bằng giây. Đây là khoảng thời gian mà trình phân giải DNS cho phép lưu bản ghi vào bộ nhớ cache. |
Nội dung | Tên miền mà CNAME trỏ tới. |
CNAME và Redirect
Bản ghi CNAME đôi khi được gọi là chuyển hướng (redirect), thường là trong context chuyển hướng web (HTTP).
Không có mối tương quan trực tiếp giữa CNAME và HTTP redirect. Cũng như không thể cấu hình CNAME để thực hiện chức năng redirect nào.
Để thực hiện redirect HTTP, server phản hồi HTTP request phải được định cấu hình để trả về HTTP response thích hợp. Điều này không thể đạt được trực tiếp bằng CNAME.
Truy vấn bản ghi CNAME
Bạn có thể sử dụng dig
trong terminal để xác định bản ghi CNAME được liên kết với tên miền. Kết quả trong phần ANSWER
có tên miền đầy đủ (FQDN), time-to-live (TTL) và tên miền.
$ dig CNAME www.dnsimple.com
; <<>> DiG 9.10.6 <<>> CNAME www.dnsimple.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5274
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.dnsimple.com. IN CNAME
;; ANSWER SECTION:
www.dnsimple.com. 3599 IN CNAME dnsimple.com.
;; Query time: 52 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Nov 02 20:33:09 CET 2018
;; MSG SIZE rcvd: 59
Lời kết
Bản ghi CNAME được xử lý ở bên trong hệ thống domain và sẽ có vài hạn chế khi dùng bản CNAME nếu một DNS có xung đột với CNAME trong lúc tìm kiếm bản ghi nguồn. Nếu có bất kì thắc mắc nào bạn có để ở dưới phần bình luận để Vietnix có thể giải đáp các thắc mắc của bạn nhé.