Đây là Câu hỏi Canonical về CNAME tại các điểm (hoặc gốc) của các khu vực
Đó là kiến thức tương đối phổ biến rằng CNAME
các bản ghi ở đỉnh của một tên miền là một thực tiễn cấm kỵ.
Thí dụ:
example.com. IN CNAME ithurts.example.net.
Trong trường hợp tốt nhất, phần mềm máy chủ tên có thể từ chối tải cấu hình và trong trường hợp xấu nhất, phần mềm có thể chấp nhận cấu hình này và làm mất hiệu lực cấu hình cho example.com.
Gần đây tôi có một công ty lưu trữ web chuyển các hướng dẫn cho một đơn vị kinh doanh mà chúng tôi cần để CNAME đỉnh của tên miền của chúng tôi sang một bản ghi mới. Biết rằng đây sẽ là một cấu hình tự sát khi được cung cấp cho BIND, tôi đã khuyên họ rằng chúng tôi sẽ không thể tuân thủ và đây là lời khuyên chung chung. Công ty lưu trữ web đã đưa ra lập trường rằng nó không bị cấm hoàn toàn bởi các RFC xác định tiêu chuẩn và phần mềm của họ hỗ trợ nó. Nếu chúng tôi không thể CNAME apex, lời khuyên của họ là không có bản ghi apex nào cả và họ sẽ không cung cấp máy chủ web chuyển hướng. ...Gì?
Hầu hết chúng ta đều biết rằng RFC1912 khẳng định điều đó A CNAME record is not allowed to coexist with any other data.
, nhưng hãy trung thực với chính mình ở đây, RFC chỉ là Thông tin. Lần gần nhất tôi biết để thông báo cấm thực hành là từ RFC1034 :
Nếu một CNAME RR có mặt tại một nút, thì không có dữ liệu nào khác; điều này đảm bảo rằng dữ liệu cho một tên chính tắc và bí danh của nó không thể khác nhau.
Thật không may, tôi đã ở trong ngành đủ lâu để biết rằng "không nên" không giống như "không nên" và đó là sợi dây đủ để hầu hết các nhà thiết kế phần mềm tự gắn mình. Biết rằng bất cứ điều gì thiếu liên kết ngắn gọn với một cú đánh trượt sẽ làm lãng phí thời gian của tôi, cuối cùng tôi đã để công ty thoát khỏi lời trách mắng về việc khuyến nghị các cấu hình có thể phá vỡ phần mềm thường được sử dụng mà không tiết lộ chính xác.
Điều này đưa chúng ta đến hỏi đáp. Lần đầu tiên tôi muốn chúng tôi thực sự có được kỹ thuật về sự điên rồ của các CNAME đỉnh cao, và không khắc phục vấn đề như chúng tôi thường làm khi ai đó đăng bài về chủ đề này. RFC1912 không có giới hạn, như mọi RFC thông tin khác áp dụng ở đây mà tôi không nghĩ tới. Hãy tắt em bé này lại.