A-запись или CNAME: какую DNS-запись выбрать для сайта

A-запись указывает имя на IP-адрес, CNAME — на другой хост. Правило корневого домена, таблица «что когда использовать» и примеры для конструкторов сайтов.

Частые вопросы

Можно ли поставить CNAME на корневой домен?

По стандартным правилам DNS — нет. CNAME не может существовать рядом с другими записями с тем же именем, а в корне домена всегда есть записи NS и SOA. Некоторые DNS-провайдеры обходят это ограничение с помощью ALIAS, ANAME или функции CNAME flattening: она работает как CNAME, но в ответ отдаёт A-записи. Как это называется у вашего провайдера, смотрите в его документации.

Что быстрее — CNAME или A-запись?

Для посетителей разница обычно слишком мала, чтобы её заметить. CNAME добавляет один дополнительный запрос, когда резолверу впервые приходится идти по алиасу, а затем ответ кэшируется в соответствии с TTL. Выбирайте запись исходя из того, что советует хостинг и является ли имя корневым доменом, а не из соображений скорости.

Почему хостинг даёт CNAME для www, а для корневого домена — IP-адрес?

Потому что www — это поддомен, где CNAME разрешён, а корневой домен — это апекс (apex), где CNAME недопустим. Если хостинг публикует фиксированный IP-адрес для апекса, значит, он даёт вам то, что может хранить A-запись. Если же хостинг выдаёт только имя хоста, он ожидает, что вы используете CNAME на поддомене или запись типа ALIAS на апексе, если ваш DNS-провайдер её поддерживает.

Могут ли A-запись и CNAME существовать для одного и того же имени?

Нет. Если у имени есть CNAME, то A-записи, MX, TXT и любых других типов записей у него быть не может. Панель DNS может не дать сохранить вторую запись, а может сохранить её, и тогда разрешение имени будет работать непредсказуемо. Удалите старую запись, прежде чем добавлять запись другого типа.

Что будет с моей почтой, если я изменю запись на корневом домене?

Изменение A-записи на корневом домене на почту не влияет, потому что маршрутизацией почты занимаются MX-записи. Опасно как раз добавлять CNAME на апекс: он конфликтует с MX- и TXT-записями, от которых зависит почта. Оставляйте MX-записи на месте и при переносе сайта меняйте только A- или AAAA-записи.

Коротко: A-запись напрямую сопоставляет имя с адресом IPv4, а CNAME сопоставляет имя с другим именем хоста, и итоговый адрес определяют записи этого хоста. Для корневого домена (example.com) используйте A-запись, а для поддоменов вроде www, shop или blog — CNAME, если хостинг выдал вам имя хоста, а не IP. Главное правило: CNAME нельзя ставить на корень домена.

На что на самом деле указывает каждая запись

A-запись: имя → IP-адрес

A-запись отвечает на вопрос «какой IPv4-адрес у этого имени?» В файле зоны она выглядит так:

`` example.com. 3600 IN A 192.0.2.10 ``

Этот адрес (из диапазона, зарезервированного для документации) — сервер, к которому подключается браузер. Если у вас есть ещё и адрес IPv6, рядом добавляется запись AAAA. Если адрес сервера изменится, запись придётся править самостоятельно.

CNAME: имя → другое имя

CNAME («каноническое имя») говорит: «это имя — алиас другого имени». IP-адреса в нём никогда нет:

`` www.example.com. 3600 IN CNAME sites.hostingprovider.example. ``

Резолвер видит алиас, запрашивает целевое имя и использует найденные там A- или AAAA-записи. Плюс в том, что хостинг может менять адреса своих серверов, а вам не нужно трогать DNS. Базовое определение — в статье что такое CNAME, а обо всём семействе записей читайте в материале типы DNS-записей простыми словами.

Ограничение для корневого домена

Апекс (его же называют корневым или «голым» доменом) — это имя без префикса: example.com. По правилам DNS у имени с CNAME не может быть записей другого типа. А в апексе другие записи есть всегда:

  • NS-записи, которые указывают, какие серверы авторитетны для домена
  • запись SOA
  • как правило, MX-записи для почты и TXT-записи для верификации и SPF

CNAME на апексе конфликтовал бы со всеми ними. Одни DNS-панели откажутся его сохранить. Другие сохранят и тихо сломают доставку почты или подтверждение домена — это хуже.

У поддоменов такой проблемы нет: у www.example.com обычно нет других записей с точно таким же именем. Поэтому хостинги почти всегда просят направить www через CNAME.

Обходной путь: ALIAS, ANAME и flattening

Многие DNS-провайдеры предлагают нестандартную запись, которая ведёт себя как CNAME на апексе. Называется она по-разному (ALIAS, ANAME или «CNAME flattening»): провайдер сам разрешает целевое имя хоста и отвечает посетителям обычными A-записями. Это возможности конкретных провайдеров, а не часть стандарта DNS, поэтому название, поведение и наличие в тарифе у всех разные. Прежде чем на такую запись полагаться, проверьте документацию своего DNS-провайдера и не думайте, что запись с таким названием есть в панели другого провайдера.

A-запись или CNAME: когда что использовать

СитуацияЧто использоватьПочему
Корневой домен (example.com), хостинг даёт IP-адресA (и AAAA, если дан IPv6)Апекс может содержать A-записи
Корневой домен, хостинг даёт только имя хостаALIAS/ANAME/flattening, если есть у вашего DNS-провайдера; иначе перенесите DNS или используйте серверы имён хостингаСтандартный CNAME на апексе запрещён
Поддомен www, хостинг даёт имя хостаCNAMEСледует за хостингом, если его серверы переедут
Поддомен, хостинг даёт IP-адресACNAME некуда указывать
Поддомен для SaaS-сервиса (help, status, shop)CNAMEЦелевым адресом управляет вендор
Имя, которому также нужны MX или TXTA, AAAA или ALIAS-подобная запись, но не CNAMECNAME не сочетается с другими записями
Указать имя на другое имя, которое вы контролируетеCNAMEОбновлять нужно только в одном месте
Записи почтового сервиса (селекторы DKIM)CNAME, только если так велит почтовый провайдерЗависит от провайдера, следуйте его инструкции

Про маршрутизацию почты читайте в материалах как работают MX-записи и зачем нужна TXT-запись.

Примеры для тех, кто делает сайты на конструкторах

Большинство конструкторов сайтов и хостингов работают по одной из двух схем. Какая из них ваша, видно в панели управления.

Схема 1: хостинг выдаёт и IP, и имя хоста

Многие хостинги показывают и то и другое. Типичная настройка такая:

Хост (имя)ТипЗначение
@ (корень)AIP-адрес, который указал ваш хостинг
wwwCNAMEимя хоста, которое указал ваш хостинг

В большинстве DNS-панелей @ означает апекс. Используйте ровно те значения, что показывает ваш хостинг. Не копируйте IP-адреса из статей в блогах, включая эту: хостинги их меняют.

Схема 2: хостинг выдаёт только имя хоста

Некоторые платформы не используют фиксированные IP. Тогда у вас три варианта:

  1. Направить www через CNAME, а корневой домен перенаправить на www функцией переадресации у регистратора.
  2. Использовать запись ALIAS/ANAME/flattening на апексе, если ваш DNS-провайдер её поддерживает.
  3. Переключить серверы имён домена на хостинг или на DNS-провайдера, который поддерживает алиасы на апексе.

Вариант 1 самый универсальный: редирект умеет делать любой регистратор, хотя для посетителей «голого» домена это добавляет один переход.

Пошагово: как направить домен на конструктор сайтов

  1. Найдите DNS-инструкцию хостинга в настройках домена или собственного домена. Посмотрите, что указано: IP, имя хоста или и то и другое.
  2. Откройте DNS-панель у регистратора или DNS-провайдера (там, куда указывают ваши серверы имён).
  3. Удалите конфликтующие записи. Старые A- или CNAME-записи с тем же именем (часто это страница-заглушка регистратора) нужно убрать в первую очередь.
  4. Добавьте запись для апекса. Используйте A-запись с IP хостинга или ALIAS-подобную запись с именем хоста.
  5. Добавьте запись для www. Используйте CNAME, указывающий на имя хоста, которое выдал хостинг.
  6. Не трогайте MX и TXT, если только вы специально не меняете почту.
  7. Дождитесь истечения TTL старых записей, затем проверьте домен в браузере. Если за день до изменений уменьшить TTL, переключение пройдёт быстрее.
  8. Убедитесь, что хостинг показывает домен как подключённый и что HTTPS выпущен. Обычно хостингу нужно, чтобы DNS уже разрешался правильно, иначе он не сможет выпустить сертификат.

Короткий чек-лист для диагностики

  • [ ] У одного имени нет одновременно CNAME и другой записи
  • [ ] Нет CNAME на апексе (кроме ALIAS-подобной записи конкретного провайдера)
  • [ ] Цель CNAME — настоящее имя хоста, а не URL с http:// и не путь
  • [ ] В A-записи только адрес IPv4 и больше ничего (без порта и https://)
  • [ ] Нет устаревшей AAAA-записи, указывающей на старый сервер
  • [ ] Серверы имён — те, где вы действительно редактировали записи
  • [ ] MX-записи на месте, если вы используете почту на этом домене

Частые ошибки

  • CNAME на корне, чтобы «починить» www. Вместо этого ломаются почта и записи верификации. Используйте A-запись или ALIAS.
  • Копирование старого IP-адреса. Если доступен CNAME, он поддерживает вас в актуальном состоянии вслед за хостингом. Если приходится использовать A-запись, перепроверяйте IP в панели хостинга, когда что-то перестало работать.
  • URL вместо имени хоста в качестве цели. В DNS указывают только имена хостов или IP, без https:// и без пути в конце.
  • Забытая AAAA. Оставшаяся запись IPv6 может отправлять часть посетителей на сервер, которым вы больше не пользуетесь.

Если вы ещё выбираете платформу: бесплатный тариф We.Inc позволяет опубликовать до трёх сайтов из готовых шаблонов, а ИИ-конструктор, который создаёт черновик сайта по описанию, доступен на тарифе Starter за $20 в месяц. Можно начать бесплатно здесь и подключить домен с той записью, которую подскажет панель управления.

Начать бесплатно · Банковская карта не нужна

Umair Ali Sadaqat

Основатель We.Inc

Умайр — основатель We.Inc. Он пишет о создании сайтов с помощью ИИ, агентствах и ведении бизнеса веб-студии.

Готовы создать что-то стоящее?

Присоединяйтесь к 15,000+ компаний, которые с We.Inc запускаются, растут и автоматизируют работу — всё на одной платформе.

Начать бесплатно

Банковская карта не нужна · Связаться с отделом продаж

По теме: Блог

Продукт

Для кого

Возможности

Ресурсы

Компания

Карта сайта