Перейти к основному содержимому

Кастомные домены

Каждый проект получает адрес от платформы (<project>.layero.app или, в схеме имён, <org>-<project>.layero.app). Но можно привязать и свой домен, купленный у любого регистратора — например my-site.ru или shop.my-site.ru. Это не редирект: ваш домен начинает по-настоящему обслуживать проект, с собственным HTTPS-сертификатом.

Кастомный домен ведёт себя так же, как основной адрес: показывает тот деплой, на который указывает production-pointer. Promote и rollback работают на нём без изменений.

Бета

Раздел «Домены» сейчас в бета-доступе. В сайдбаре проекта он помечен как «Скоро» — нажмите в открывшемся окне кнопку «Бета-версия», чтобы зайти в рабочий мастер привязки.

Как подключить

  1. Откройте проект → в сайдбаре Домены.
  2. Введите домен — my-site.ru или shop.my-site.ru. Layero сам определит, корневой это домен или поддомен, и распознает вашего регистратора по DNS.
  3. Нажмите Подключить. Появится карточка домена с пошаговым чек-листом и двумя DNS-записями, которые нужно добавить.
  4. Откройте панель управления у вашего регистратора, добавьте записи (мастер показывает инструкцию под ваш конкретный регистратор) и сохраните.
  5. Дальше можно ничего не делать: Layero сам перепроверяет DNS примерно раз в 15 минут, выпускает сертификат и подключает домен. Ждать не обязательно — кнопка «Проверить» в карточке запускает проверку сразу.

Какие DNS-записи нужны

Всего две. Тип первой зависит от того, корневой у вас домен или поддомен.

ДоменЗапись «куда смотрит»Запись подтверждения
Корневой (my-site.ru)A → IP-адрес LayeroTXT _layero-verify
Поддомен (shop.my-site.ru)CNAMEcname.layero.ruTXT _layero-verify.shop

Точные значения (IP-адрес, значение TXT) мастер показывает в карточке домена — каждое значение копируется в один клик.

Третья запись для сертификата не нужна: Layero проверяет владение доменом по HTTP, как только домен начинает указывать на платформу.

Корневой домен и поддомен

  • Корневой домен (my-site.ru) — нужна A-запись на IP Layero. Стандарт DNS запрещает CNAME в корне зоны, поэтому только A.
  • Поддомен (shop.my-site.ru, test.my-site.ru) — CNAME на cname.layero.ru. Поддомен любого уровня (api.v2.my-site.ru тоже) работает так же.

Поддомен через CNAME — даже надёжнее: если инфраструктура Layero сменит IP, поддоменные домены переедут автоматически, ничего переписывать не придётся.

Инструкция под ваш регистратор

Мастер сам подбирает пошаговую инструкцию для популярных регистраторов: REG.RU, Cloudflare, Beget, GoDaddy, Namecheap. Для остальных — общая инструкция и поддержка.

Несколько важных нюансов:

  • REG.RU с хостингом. Если у домена NS-серверы ns1.hosting.reg.ru, DNS-записи редактируются не в карточке домена, а в панели хостинга (ISPmanager). Мастер ведёт по этому пути. Для корня домена поле «Имя» оставляйте пустым — ISPmanager сам подставит домен.
  • Cloudflare. Для добавленных записей выставьте Proxy status → «DNS only» (серое облачко). Оранжевое облако (proxy) ломает наш TLS — Cloudflare попытается подменить сертификат.
  • TXT без кавычек. Значение TXT-записи вставляйте как есть, без кавычек по краям — большинство панелей оборачивают их сами.

Записи прежнего хостинга

Записи прежнего хостинга остаются в зоне и продолжают действовать — добавить свои поверх недостаточно. Пока старые записи на месте, они уводят и посетителей, и проверку Let's Encrypt на чужой сервер. Удалите их до того, как нажмёте «Проверить».

Что искать в панели регистратора:

  • ALIAS (он же ANAME, а в Cloudflare — CNAME в корне) на чужой адрес. Стандарт DNS запрещает CNAME в корне зоны, и многие панели предлагают ALIAS как обход этого запрета. Он перекрывает вашу A-запись, даже если та стоит рядом и выглядит правильной: домен отдаёт адрес чужого сервера, и Let's Encrypt идёт проверять владение туда. Оставьте в корне только A-запись на IP Layero.
  • Запись CAA. В ней перечислены удостоверяющие центры, которым разрешено выпускать сертификаты для домена. Прежний хостинг мог вписать туда свой центр — тогда Let's Encrypt не станет выпускать сертификат, сколько бы раз вы ни нажимали «Проверить». Либо удалите CAA, либо добавьте ещё одну запись CAA со значением 0 issue "letsencrypt.org". Layero смотрит CAA и у самого домена, и у родительских зон: для shop.my-site.ru — ещё и у my-site.ru.
  • Старые A и AAAA на IP прежнего хостинга. Здесь тонкостей нет: просто удалите их.

Посмотреть, что сейчас отдаёт DNS, можно по одному типу записи:

dig +short my-site.ru A
dig +short my-site.ru AAAA
dig +short my-site.ru CAA

Спрашивать ANY бесполезно: публичные резолверы отвечают на такой вопрос заглушкой, и зона покажется пустой. ALIAS тоже виден не всегда — часть провайдеров, Cloudflare в их числе, разворачивает его у себя и отдаёт наружу готовые A-адреса. Если A-запись выглядит верной, а домен всё равно ведёт на старый сайт, ищите ALIAS в панели регистратора.

Всё, что мешает подключению, мастер перечисляет с текущими значениями — в жёлтой полосе над чек-листом.

Частые проблемы

  • Парковочные записи регистратора. Многие регистраторы при покупке домена ставят свои «парковочные» A- и AAAA-записи. Их нужно удалить, иначе домен будет открываться через раз (часть запросов уйдёт на парковку). Записи прежнего хостинга убираются так же — см. Записи прежнего хостинга.
  • AAAA-запись (IPv6). Layero пока работает только по IPv4, поэтому при любой AAAA-записи мы не выпускаем сертификат: Let's Encrypt предпочитает IPv6 и пойдёт проверять домен по нему, то есть мимо нас. Удалите AAAA; мастер подскажет, если её увидит. Иногда AAAA в панели нет, а IPv6 у домена всё равно есть: эти адреса домен получает от ALIAS на чужой адрес.
  • Код подтверждения сменился. Мы выдаём новый код каждый раз, когда вы добавляете домен в проект. Если вы удалили домен и завели его снова, прежнее значение TXT _layero-verify больше не подходит — при этом инструкции выглядят прежними. Скопируйте текущий код из карточки домена.
  • DNS обновляется не мгновенно. После сохранения у регистратора записи распространяются от 5 минут до часа. Layero дождётся сам — страницу можно не держать открытой.

Сколько ждать

ЭтапВремя
Распространение DNS у регистратора5 минут – 1 час
Проверка владения + выпуск сертификата Let's Encrypt30–90 секунд после того, как DNS виден
Подключение к серверу~10 секунд

Итого: от пары минут до часа, и почти всё это время — ожидание DNS у вашего регистратора, на которое Layero повлиять не может.

Свой сертификат (BYOC)

Если у вас уже есть готовый TLS-сертификат для домена (например, EV-сертификат от вашего провайдера), его можно загрузить вместо выпуска через Let's Encrypt. В карточке домена — раздел «У меня уже есть сертификат»: вставьте PEM-сертификат и приватный ключ. HTTPS заработает сразу, без обращения к Let's Encrypt. Подтверждение владения доменом (TXT-запись) всё равно требуется.

Куда ведёт домен

По умолчанию кастомный домен показывает production-деплой проекта — то же, что и основной адрес. В карточке домена, в разделе «Куда ведёт этот домен», можно прицепить домен к конкретной ветке — удобно, чтобы, например, выделить ветку staging на отдельный поддомен.

Продление сертификата

Сертификат Let's Encrypt действует 90 дней. Layero продлевает его автоматически примерно за 30 дней до истечения — без вашего участия и без перерыва в работе сайта. Загруженные вручную сертификаты (BYOC) нужно обновлять самостоятельно.

Что Layero не делает

  • Не покупает домены. Регистрируйте их у любого регистратора.
  • Не управляет вашей DNS-зоной. Layero даёт точные инструкции, но записи добавляете вы.
  • Не настраивает редирект www ↔ корень. Это решается на стороне регистратора или приложения.

Отвязка

В карточке домена — крестик в правом верхнем углу. Layero удалит сертификат и конфигурацию. DNS-записи в своей зоне уберите вручную.