Свой домен и HTTPS
Зачем это нужно
Отдавать приложение на вашем домене вместо технического адреса платформы, с TLS-сертификатом, который выпускается и продлевается автоматически.
Модель из двух шагов:
- Подтвердить апекс-домен, которым вы владеете, — на уровне проекта, страница Domains.
- Привязать конкретный хост под этим апексом к приложению — в самом приложении, Settings → Domains.
Шаг 1 — подтвердите апекс-домен
- Откройте Domains в навигации проекта → Add Domain.
- Введите апекс (корневой) домен, например
acme.com— безhttp://, без поддомена и без пути. - Вы получите TXT-запись для подтверждения: тип, имя и значение. Рядом с каждым полем есть кнопка копирования.
- Добавьте запись у своего DNS-провайдера и вернитесь нажать Verify.
- Проверка ручная, автоматического опроса нет. Если DNS ещё не разъехался, нажмите Verify ещё раз через несколько минут.
- После подтверждения апекс и все его поддомены становятся доступны этому проекту.
Шаг 2 — привяжите хост к приложению
- Откройте нужное приложение → Settings → вкладка Domains.
- Введите хост, например
shop.acme.com. Это должен быть сам апекс или поддомен уже подтверждённого в этом проекте апекса. - Нажмите Attach. Консоль подскажет DNS-запись (тип, имя, цель), которую нужно направить на ingress платформы, если вы этого ещё не сделали.
- TLS-сертификат выпустится автоматически, как только DNS начнёт резолвиться на платформу.
- Хост появится в таблице со столбцами Status и Certificate — по ним видно, когда всё поднялось.
Подводные камни
- Привязка делается в приложении, а не на странице Domains. Страница Domains отвечает только за подтверждение владения апексом — кнопки «привязать поддомен» там нет.
- Verify нажимается руками, автоопроса нет: обычно это одно нажатие, пауза на распространение DNS и ещё одно нажатие.
- Чтобы убрать подтверждение домена, сперва отвяжите все хосты под ним — диалог подтверждения так и говорит. Отвязывайте хосты в Settings → Domains каждого приложения.
- Отвязка хоста немедленно убирает его TLS-сертификат и ingress. Само приложение продолжает работать на техническом адресе платформы.
Сеть: IP посетителей и исходящие адреса
Что приходит в ваше приложение и что уходит из него наружу — важно, если вы ставите приложение как обратный прокси перед своим origin-сервером или строите защиту по адресам.
Входящие запросы. Ingress платформы добавляет стандартные заголовки X-Forwarded-For, X-Real-IP, X-Forwarded-Proto и X-Forwarded-Host. Но реальный IP посетителя в них сегодня не приходит: публичный балансировщик перед кластером работает на уровне L4 и подменяет адрес источника, поэтому в X-Forwarded-For и X-Real-IP окажется адрес самого балансировщика (155.212.223.198), а не посетителя. Не стройте на этих заголовках лимиты, гео-логику или антифрод — они увидят один и тот же адрес у всех.
Исходящие запросы (ваше приложение → ваш origin или любой внешний сервис) уходят с публичных адресов узлов кластера. Набор узлов меняется при масштабировании и обслуживании, фиксированного списка диапазонов нет — allowlist по IP на origin-сервере сломается при первой же замене узла. Надёжнее защитить origin тем, что подменить нельзя:
- секретный заголовок (например,
X-Origin-Token), который ваше приложение добавляет к каждому запросу, а origin проверяет; значение держите в переменных окружения приложения; - mTLS: клиентский сертификат на стороне приложения, проверка на origin;
- origin, закрытый от интернета целиком, и туннель/VPN до него из приложения.
Чего пока нет
- Реального IP посетителя в
X-Forwarded-For/X-Real-IP— нужен PROXY protocol между балансировщиком и ingress на стороне хостинг-провайдера. - Фиксированных исходящих адресов (static egress IP).
- Автоматической проверки TXT-записи — Verify нажимается вручную.
- Управления хостами со страницы Domains: сегодня это только настройки приложения.
Куда дальше
- Приложения: деплой из GitHub — что именно вы отдаёте на этом домене.
- Мониторинг: метрики, логи и алерты — как узнать, что домен отдаёт ошибки.