Cách tạo CNAME cho tên gốc của tên miền


12

Tôi muốn đặt tên gốc của tên miền thành CNAME thay vì bản ghi A thông thường.

Đây là một ví dụ hoàn hảo về những gì tôi đang cố gắng thực hiện:

dig lrnskls.com

Lưu ý phần trả lời:

;; ANSWER SECTION:

lrnskls.com.            300     IN      CNAME   partner.adjix.com.

partner.adjix.com.      300     IN      A       67.121.212.61

Lý do tôi đang cố gắng thực hiện điều này là vì vậy tôi có thể trỏ tên gốc của tên miền, thông qua bí danh CNAME, đến S3 của Amazon. Sử dụng bản ghi A không hoạt động vì IP của S3 thay đổi cứ sau vài phút cho mục đích cân bằng tải.

PS - Điều này có vẻ hợp pháp theo mục 3.6.2 của RFC 1034 (lưu ý ví dụ USC-ISIC.ARPA): http://www.faqs.org/rfcs/rfc1034.html


2
Điểm hay về nó dường như là hợp pháp theo ví dụ trong mục 3.6.2. RFC1034 là từ năm 1987, và nên được đọc bằng mắt để đáp ứng nhu cầu ngày nay. Một số người / nhiều người coi đó là bất hợp pháp trong bối cảnh hiện đại, xem serverfault.com/questions/55528/ mẹo . Điều tốt nhất là IMHO lỗi ở khía cạnh thận trọng, tức là đừng cố gắng đẩy DNS bằng cách sử dụng một cấu hình mà một số máy chủ DNS có thể từ chối.
Jesper M

2
@jesper - ví dụ RFC 1034 không liên quan. Nó hiển thị một CNAME dưới dạng bản ghi độc lập. Một miền .com được ủy nhiệm phải có bản ghi SOA và bản ghi NS. Cấu hình lrnskls.com không hợp lệ về mặt kỹ thuật.
Alnitak

Bạn nên sửa chữa thuật ngữ của mình, "tên gốc" không phải là một thuật ngữ phổ biến cho những gì bạn mô tả (dường như là tên của đỉnh của khu vực của bạn).
bortzmeyer

Câu trả lời:


14

Amazon nhận thức được vấn đề với các tên miền gốc và Bộ cân bằng tải đàn hồi. Họ đề nghị cách giải quyết này:

  • Định cấu hình tên miền gốc thành dịch vụ chuyển hướng mydomain.com sang www.mydomain.com (hoặc bất kỳ tên miền phụ nào khác bạn chọn)
  • Thiết lập bản ghi CNAME ánh xạ tên DNS cân bằng tải thành "www.mydomain.com".

Tôi không thích giải pháp này, nhưng "sạch" hơn là giải pháp "buộc miền gốc vào CNAME".

CẬP NHẬT: Amazon hiện giải quyết vấn đề này cho ELB / S3 thông qua các bản ghi ALIAS, tính năng DNS của Route53.


5
+1 để chỉ ra cách tuân thủ thực hiện việc này. Để diễn đạt lại giải pháp này (cũng xem câu trả lời của Amazon được liên kết): Bạn tạo một bản ghi A hợp lệ cho tên miền gốc, với SOA hợp lệ. Bản ghi đó trỏ đến dịch vụ của bên thứ 3 mà bạn đã ký hợp đồng gửi các chuyển hướng HTTP 301/302 tới www.mydomain.com.
Jesper M

@JesperMortensen Bạn có thể giới thiệu một số nhà thầu thực hiện chuyển hướng như vậy không? Thật là khó chịu khi người dùng của tôi truy cập mycompany.com và chỉ thấy quảng cáo của nhà cung cấp tên miền của tôi. A recordchỉ đến một địa chỉ IP và tôi chắc chắn sẽ không mua một IP tĩnh chỉ cho mục đích này.
foresightyj

10

Không, nó không hợp pháp. CNAMEkhông được phép cùng tồn tại với các hồ sơ khác và bạn cần ít nhất SOAở đây.

Ví dụ này không chứng minh điều gì khác, bởi vì nó không ngụ ý có bất kỳ hồ sơ nào khác ở đó.


Vì vậy, điểm thực sự của câu hỏi của tôi là làm thế nào để tôi làm điều này? Làm cách nào để thiết lập tên gốc của tên miền là CNAME chứ không phải bản ghi A? Ví dụ "dig lrnskls.com" hoạt động chính xác như tôi mong đợi nó hoạt động. Hoặc, tôi đang thiếu một cái gì đó là ví dụ đào?

bạn có thể đặt nó chính xác như nó đã được thực hiện lrnskls.com- chỉ cần đặt một CNAMEbản ghi ở đó, nhưng việc không có SOA;-)
Michael Krelin - hacker

Vì vậy, tôi đoán rằng không có cách hợp pháp nào để có tên gốc của tên miền trỏ đến S3 là CNAME?

Có một cách hợp pháp để có máy chủ lưu trữ, như s3stuff.example.comtrỏ đến hợp pháp S3.
Michael Krelin - hacker

3
Thật vậy, giải pháp thích hợp là có example.com KHÔNG được ủy quyền và thuyết phục đăng ký .COM, Verisign, để thêm một CNAME trong vùng .COM ... Về mặt kỹ thuật nhưng Verisign và ICANN chắc chắn sẽ tìm thấy những lý do phi kỹ thuật để từ chối nó .
bortzmeyer

2

Nhưng, máy chủ DNS của tôi không cho phép điều này; cũng không đi trình quản lý DNS của GoDaddy. Vì vậy, tôi đang tìm cách làm chính xác những gì chủ sở hữu của lrnskls.com đã làm. Có ai biết làm thế nào anh ấy làm điều đó?

Bạn có thể sẽ cần thực hiện một số tìm kiếm vào máy chủ DNS. Hầu hết các máy chủ DNS không cho phép bạn làm điều này. Tôi nghĩ rằng tôi nhớ đã thấy một câu hỏi khác trên serverfault nơi ai đó đã đăng máy chủ DNS mà ai đó đã sử dụng để thiết lập một tên miền ở gốc, nhưng tôi không thể tìm thấy nó.

Xem thêm: - Root Cname - WHM? - Đặt bản ghi tên miền gốc thành CNAME


Đó là 1and1 theo câu hỏi này serverfault.com/questions/55528/
Khăn

1

Nếu bạn sử dụng máy chủ DNS Tuyến 53 của Amazon, thì nó sẽ đạt được những gì bạn muốn.

Tôi tò mò: không có CNAME trong apex bị RFC cấm. Lý do kỹ thuật cho việc này là gì (giả sử nó không độc đoán).


1
CNAME ghi đè tất cả các hồ sơ khác. Do đó, không thể xây dựng một vùng hợp lệ trong đó đỉnh có CNAME, vì nó cũng sẽ ghi đè lên SOA.
Michael Hampton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.