Я знаю, что допустимо иметь запись DNS A с подстановочным знаком (например, * .mysite.com). Возможно ли / допустимо / рекомендуется иметь запись CNAME с подстановочными знаками?
Это возможно. В какой-то момент это было немного в воздухе, пока 4592 уточнил, что его следует поддержать.
То, что это возможно, не означает, что это поддерживается всеми поставщиками DNS. Например, GoDaddy не позволит вам установить подстановочный знак в записи CNAME.
Что касается того, желательно ли это делать, это зависит от вашего использования. Обычно CNAMES используются для удобства, когда вы указываете на «внешнее» доменное имя, на котором вы не контролируете DNS.
Например, предположим, что вы настроили систему CMS, которая позволяет использовать * .mycms.com в качестве имени сайта (он использует заголовки хоста). Вы хотите, чтобы клиенты могли легко настроить * .cms.customer.com, не беспокоясь о том, что в какой-то момент вы можете изменить свой IP-адрес. В этом случае вы можете посоветовать им настроить подстановочный знак CNAME с именем * .cms.customer.com для www.mycms.com.
Поскольку подстановочные знаки CNAMES поддерживаются не всеми поставщиками (такими как GoDaddy), я бы не советовал использовать его в случае, когда вы предлагали его различным клиентам (когда вы не знаете возможностей их поставщика).
Я добавил строку
*.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
.
Просто добавить, что Амазонский маршрут 53 поддерживает подстановочные знаки в любой тип записи.
Таким образом, вы можете безопасно использовать Route 53 в качестве поставщика DNS.
Мы постоянно используем dns с подстановочными знаками, и у нас не было никаких проблем. Если вы укажете его на ipaddres, используйте:
*.mysite.com Host (A) Default xxx.xxx.xxx.xxx
Если вы хотите использовать псевдоним, выполните:
*.mysite.com. IN CNAME mysite.com.
Насколько я помню, вы можете (иш) сделать это, но тогда этот CNAME не может использоваться никакими другими типами записей, такими как NS или MX.
Не совсем уверен, чего вы пытаетесь достичь с помощью "подстановочного знака", поэтому мне придется дать общий ответ :)
Чтобы уточнить, CNAME aserver.domain означает, что у вас не может быть anothername.aserver.domain
Есть исключения, но я не знаю, что они взбесились, ты и не совсем уверен, что ты хочешь сделать, так что не буду тратить время зря.
когда вы создаете запись CNAME, завершайте указанный сервер точкой, например: * .mydomain.com. Обратите внимание на последнюю точку
Вот результаты моего теста. Я удалил записи A для mysite.com и www.mysite.com и добавил запись CNAME для * .mysite.com. Тест не прошел. mysite.com не разрешился. Для ясности, я использую OpenDNS для своих DNS-серверов. Возможно, он отлично работает с другими DNS-серверами, но я, очевидно, хочу, чтобы он работал универсально. Основываясь на этих результатах, я буду придерживаться стандартных записей A.
Теперь это действительно работает.
Просто используйте "*" в разделе cname редактора файлов зоны или диспетчера DNS от Godaddy, чтобы указать IP или DNS-имя.
В моем случае я использовал его с DNS-именем, указывающим на облачный сервис Microsoft Azure, и он отлично работал. Это работает для bla.domain.ext, но также и для bla.bla.domain.ext. Может работать иначе для другого провайдера.