Направить домен на VPS: записи A и AAAA
Записи A, AAAA и CNAME, примеры DNS-зоны и проверка по шагам перед установкой сайта на VPS.
Доменное имя не знает, где находится ваш сервер: это сообщает DNS-зона. Нескольких записей хватает, чтобы направить example.com на адрес вашего VPS, если понимать, что делает каждая из них.
- Запись A направляет имя на IPv4, AAAA — на IPv6, CNAME — на другое имя.
- Голое имя (@) не может иметь CNAME: для основного домена используйте A или AAAA.
- Проверьте через dig на публичном резолвере, прежде чем запрашивать сертификат HTTPS.
Узнать IP-адрес VPS
Прежде чем создавать запись, запишите публичный адрес VPS. Две команды на сервере его покажут. Для большинства сайтов достаточно IPv4; IPv6 необязателен.
- curl -4 ifconfig.me: показывает публичный IPv4 сервера, тот, что он отдаёт в Интернет.
- curl -6 ifconfig.me: показывает публичный IPv6, если он есть у VPS.
- Запишите эти адреса: они станут значениями записей A и AAAA.
Создать записи A, AAAA и CNAME
В DNS-зоне домена, у регистратора или у выбранного DNS-провайдера добавьте записи ниже. Имя @ обозначает голый домен, example.com, а www — поддомен www.
- A @ 203.0.113.10: example.com указывает на IPv4 VPS.
- A www 203.0.113.10: www.example.com указывает на ту же машину.
- AAAA @ 2001:db8::10: та же цель в IPv6, если вы его используете.
- CNAME blog example.com.: blog.example.com следует за целью example.com.
Проверить перед установкой сайта
Изменения DNS иногда распространяются несколько минут, дольше, если у старой записи большой TTL. Не запрашивайте сертификат HTTPS, пока имя не разрешается правильно: проверка не пройдёт.
- dig +short example.com A: должен вернуть 203.0.113.10.
- dig +short blog.example.com: должен вернуть example.com. и затем IP-адрес.
- nslookup example.com 1.1.1.1: запрашивает публичный резолвер, минуя кеш вашего роутера.
Часто задаваемые вопросы
В чём разница между доменом и поддоменом?
Домен — это имя, которое вы покупаете, например example.com. Поддомен добавляет префикс, например blog.example.com. Оба управляются в одной DNS-зоне, каждый со своими записями.
Почему www отвечает, а голый домен нет?
Обычно у голого имени нет записи A, или старое значение ещё в кеше. Сравните вывод dig для www и для голого имени, затем дождитесь истечения TTL.
Нужно ли менять DNS-серверы у регистратора?
Только если зону ведёт другой провайдер. Тогда серверы имён домена должны указывать на него, иначе ваши записи не будут прочитаны.