Чи дійсний DNS-запис запису CNAME?


87

Я знаю, що це дійсно, щоб мати DNS-запис, який є шаблоном (наприклад, * .mysite.com). Чи можливо / дійсно / рекомендується мати підпис із записом CNAME?


Убік: це все ще не дає вам можливості зробити mysite.com самим CNAME.
reinierpost

Відповіді:


60

Це можна зробити. Одного разу він трохи піднявся в повітрі, поки 4592 не уточнили, що його слід підтримувати.

Тільки тому, що це можливо, не означає, що він підтримується всіма постачальниками DNS. Наприклад, GoDaddy не дозволить вам встановити підстановку в записі CNAME.

З точки зору того, чи бажано це робити, це залежить від вашого використання. Зазвичай CNAMES використовуються для зручності, коли ви вказуєте на "зовнішнє" доменне ім'я, на якому не керуєте DNS.

Наприклад, скажімо, ви створили систему CMS, яка дозволяє вам мати * .mycms.com як ім'я сайту (він використовує заголовки хостів). Ви хочете, щоб клієнти могли легко налаштувати * .cms.customer.com, не турбуючись про те, що ви можете змінити вашу IP-адресу в якийсь момент. У такому випадку ви можете порадити їм встановити підстановку CNAME під назвою * .cms.customer.com на www.mycms.com.

Оскільки шаблонні CNAMES підтримуються не всіма постачальниками (наприклад, GoDaddy), я б не радив використовувати його у випадку, коли ви запропонували це для різних клієнтів (де ви не знаєте можливостей їх постачальника).


8
Насправді ви можете налаштувати DNS-код підказки за допомогою GoDaddy. Просто встановіть хост на "**".
Кріс Пітшманн

2
Я бачу, що ** приймається інструментом DNS-менеджера GoDaddy, але чи працює він як підстановка? Схоже, недокументована функція.
dunxd

4
Я перевірив це: ** не працює як масова карта в DNS GoDaddy. Я неодноразово дзвонив, щоб бути впевненим, що немає можливості зробити це (навіть із їхнім Premium DNS), перш ніж перейти до іншого постачальника з цієї причини.
млці

3
@mltsy: один з наших основних сайтів використовує wildcard dns спільно з GoDaddy. У нас є вже кілька років, і ми не використовуємо їх Premium DNS. Також це *не так **.
NotMe

2
@DaveKanter о, ти маєш рацію. У заявах статті згадуються лише записи A. Незважаючи на це, я успішно встановив запит *CNAME для підстановки для клієнта цього лютого. Використання інформаційної панелі GoDaddy. І я підтверджую, що це працює так, як можна було б очікувати.
e1v

20

Я додав рядок

*.www        IN CNAME        my_webserver

до мого файлу зони в моєму конфігурації прив’язки, і він працював ідеально (тобто. whatever.www.domain.comі whatever2.www.domain.comвсе вказував на my_webserver.

Також можна було додати винятки, додавши рядок

exception.www        IN CNAME        another_server

так, що exception.www.domain.comвказувало на another_server.



4

Ми постійно використовуємо wildcard dns, і у нас не було жодних проблем. Якщо ви вказуєте його на ipaddres, використовуйте:

*.mysite.com     Host (A)    Default     xxx.xxx.xxx.xxx

Якщо ви хочете використовувати псевдонім, зробіть:

*.mysite.com.   IN CNAME mysite.com.

Перша установка добре спрацювала для нас, коли ми використовували wildcard ssl cert (ssl.com), де ми хотіли, щоб кожен користувач мав ім’я користувача.mysite.com
Yogi

4

Наскільки я пам’ятаю, ви можете (ish) подібне зробити, але тоді CNAME не може бути використаний жодним іншим типом запису, таким як NS або MX.

Не зовсім впевнений, чого ви намагаєтеся досягти із «підстановою», тому мені доведеться дати загальну відповідь :)

Для уточнення, CNAME aserver.domain означає, що ви не можете мати othername.aserver.domain

Винятки є, але я не знаю, що вони у мене в голові, і ти не дуже впевнений, що ти хочеш робити, тому я не втрачаю часу.


Дякуємо за попередження про спільний доступ до CNAMEзапису з іншим типом запису для того ж домену. У мене була подібна проблема, і мій сервер DNS зазвичай попереджає мене про сутички, але в цьому випадку цього не сталося, тому що CNAME був для, *.example.comа додатковий запис ( TXTзапис) призначений для конкретного субдомену subdomain1.example.com. Так це не зіткнулося зіткнення! Уопс.
Пол д'Ауст

2

під час створення запису CNAME кінцевий сервер закінчується крапкою, напр .: * .mydomain.com. Помітьте останню крапку


1

Ось результати мого тесту. Я видалив записи A для mysite.com та www.mysite.com та додав запис CNAME для * .mysite.com. Тест не працював. mysite.com не вирішить. Щоб зрозуміти, я використовую OpenDNS для своїх серверів DNS. Можливо, це добре працює з іншими серверами DNS, але я, очевидно, хочу, щоб він працював універсально. На основі цих результатів я буду дотримуватися стандартних записів A.


Чи не така очікувана поведінка? Наскільки я бачу * .mysite.com не відповідає mysite.com, незалежно від типу RR. Це працює з записами A?
markdrayton

Ні, " " відповідає одній або більше міткам, тому " .example.com" не відповідає "example.com"
Alnitak

Я цього не знав, але це має сенс. Тож здається, що мені потрібен принаймні один запис A для кореневого доменного імені, і тоді я міг би використовувати підстановочний запис CNAME для покриття всього іншого. Це насправді не рішення, яке я хотів, але, принаймні, я знаю.
Бен Міллс

1

Це зараз працює.

Просто використовуйте "*" у розділі імен редактора файлів зон або DNS-менеджера від Godaddy вказує на ім'я IP або DNS.

У моєму випадку я використовував його з назвою DNS, що вказує на хмарний сервіс Microsoft Azure, і він чудово працював. Це працює для bla.domain.ext, але також і для bla.bla.domain.ext. Можливо, для іншого постачальника може працювати інше.


1
Записи DNS CNAME не вказують на URL-адреси чи IP-адреси, а на одне ім’я DNS, якому ім'я із записом CNAME еквівалентне.
Falcon Momot

Помітив, я змінив відповідь
Martijn van Halen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.