🔗
Домены

CNAME на основной домен нельзя: решение для Vercel, Railway и AWS

07.11.2026
← Все статьи

Современные облачные платформы — Vercel, Railway, AWS и другие — при подключении собственного домена обычно дают одну инструкцию: «Создайте для домена CNAME-запись на такой-то адрес». Для поддомена это не проблема: CNAME на имя www или app добавляется без вопросов. Но стоит попытаться добавить ту же запись на сам основной домен, то есть на misol-startap.uz, как DNS-панель выдаёт ошибку либо сохраняет запись, после чего перестаёт работать почта. Это не недостаток панели, а требование стандарта DNS. Ниже разберём причину и практические решения для каждой платформы.

Почему на основной домен нельзя поставить CNAME

Запись CNAME означает «это имя — псевдоним другого имени». По стандарту на имени с CNAME не может быть никаких других записей, потому что резолвер перенаправляет все вопросы об этом имени на целевое имя. А на основном домене обязательно находятся записи SOA и NS, а часто ещё MX и TXT. Поэтому CNAME на основном домене конфликтует с этими записями.

Одни панели такую запись отклоняют, другие принимают, но результат становится непредсказуемым: часть резолверов не находит MX, и почта начинает теряться. Поэтому записи такого вида нужно избегать.

; неправильно: CNAME на основном домене конфликтует с SOA, NS и MX
@     IN  CNAME  cname.platforma-misol.com.
@     IN  MX 10  mail.misol-startap.uz.

; правильно: CNAME для поддомена
www   IN  CNAME  cname.platforma-misol.com.

Решение 1: A-запись от платформы

Самый простой путь — когда платформа даёт IP-адрес для основного домена. Так делает Vercel: в разделе Domains настроек проекта для основного домена указана A-запись с IP-адресом, а для www рекомендуется CNAME. Берите значения не из статьи, а именно из панели своего проекта, потому что платформы время от времени обновляют рекомендуемые адреса. A-запись — обычная запись, поэтому она спокойно уживается с MX и TXT и работает в любой DNS-панели.

@     IN  A      <IP, указанный в панели Vercel>
www   IN  CNAME  <имя, указанное в панели Vercel>.
@     IN  MX 10  mail.misol-startap.uz.

Решение 2: CNAME flattening, ALIAS или ANAME

Railway и многие сервисы AWS (балансировщик нагрузки, CloudFront, Elastic Beanstalk) не дают постоянного IP-адреса, а выдают только имя хоста, потому что их IP меняются. В этом случае для основного домена нужен «CNAME flattening». При этом DNS-провайдер сам определяет текущие IP целевого имени и возвращает их как обычные A-записи. Снаружи на основном домене видны только A-записи, поэтому стандарт не нарушается, а почтовые записи сохраняются.

Разные провайдеры называют эту возможность по-разному: в Cloudflare flattening применяется автоматически, когда CNAME добавлен на основной домен, у некоторых других есть специальный тип записи ALIAS или ANAME. Собственный DNS-сервис AWS, Route 53, предлагает Alias-записи для ресурсов AWS. Помните, что это фирменная функция провайдера, а не стандартный тип DNS, поэтому она работает, только если NS-серверы вашего домена находятся у такого провайдера.

Решение 3: www как основной адрес, а домен перенаправляет

Если вы не хотите переносить DNS к другому провайдеру, самый надёжный и универсальный путь — сделать основным адресом сайта www. www подключается к платформе через CNAME, а основной домен обычной A-записью указывает на ваш хостинг-сервер, где все запросы перенаправляются на www редиректом 301. Единственное условие — на перенаправляющем сервере должен быть SSL-сертификат и для основного домена, иначе при открытии https://misol-startap.uz браузер покажет предупреждение.

# Nginx: редирект 301 с основного домена на www
server {
    listen 443 ssl;
    server_name misol-startap.uz;
    ssl_certificate     /etc/letsencrypt/live/misol-startap.uz/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/misol-startap.uz/privkey.pem;
    return 301 https://www.misol-startap.uz$request_uri;
}

# вариант для Apache .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^misol-startap\.uz$ [NC]
RewriteRule ^(.*)$ https://www.misol-startap.uz/$1 [R=301,L]

Кратко по платформам

ПлатформаПоддоменОсновной домен
VercelCNAMEA-запись из панели или flattening
RailwayCNAMEFlattening/ALIAS или www + редирект
AWS (ALB, CloudFront)CNAMERoute 53 Alias, flattening или www + редирект

Точные требования каждой платформы со временем могут меняться, поэтому воспринимайте таблицу как ориентир, а итоговые значения проверяйте в документации платформы.

Пример: фронтенд стартапа на Vercel, API на Railway

Небольшая команда стартапа из Ташкента разместила фронтенд на Vercel, а API — на Railway, при этом домен и корпоративная почта остались у узбекистанского провайдера. Разработчик сначала попытался добавить на основной домен CNAME от Railway, и панель выдала ошибку. Решение получилось таким: для основного домена добавили A-запись из панели Vercel, www подключили к Vercel через CNAME, а API вынесли на поддомен api.misol-startap.uz с CNAME от Railway. Записи MX и SPF на основном домене остались нетронутыми, и почта не прерывалась ни на минуту.

Проверка после подключения

После добавления записей проверьте, как они видны миру. Основной домен должен возвращать A-записи, www — CNAME, а MX должна остаться на месте. В панели платформы статус домена должен быть «Valid» или отмечен похожим зелёным значком, а SSL-сертификат должен выпуститься автоматически.

dig misol-startap.uz A +short
dig www.misol-startap.uz CNAME +short
dig misol-startap.uz MX +short
curl -sI https://misol-startap.uz | head -n 3

Если домен в sayt.uz, записи A, CNAME и MX добавляются в разделе DNS личного кабинета, а для редиректа с основного домена на www достаточно и обычного тарифа хостинга.

Похожие статьи

🔤 Домен из узбекского слова: проблемы написания и прочтения 🔗 Как подключить свой домен к сайту на Tilda: настройка DNS по шагам 📄 Договор, счёт-фактура и акт за домен: что нужно и как получить 📧 Как подключить почту Yandex 360 к своему домену: подтверждение, MX, SPF и DKIM
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский ✓ 🇬🇧 English