Подключение своего домена
В этой статье мы подробно расскажем как подключить к платформе Tuna собственный домен и опубликовать локальный сайт в интернет без публичного IP, сложных конфигураций сети вроде VPN и без публикации кода на какой либо сервер или хостинг.
Публикация на собственном домене может быть интересна для Демо стендов, когда вы презентуете какое-то решение заказчику. Клиент видит законченное решение при этом вы не потратили и минуты на подготовку окружения, а также можете править какое-то мелочи прямо на ходу. Впрочем кейсов применения может быть значительно больше.
Подключение домена
Покупка домена
Для начала вам понадоб ится собственный домен (если у вас его нет), вы можете купить его например у Рег.ру или namecheap или любого другого регистратора доменов. Для примеров в этой статье мы используем домен tuna-dev.ru
.
Подключение к Tuna и получение настроек
Перейдите на страницу управления доменами в личном кабинете и нажмите Добавить домен cправа вверху.

Выберете Регион, Тип - Свой домен, в поле Домен введите свой домен. В нашем случае это api.tuna-dev.ru
. Если у вас Unicode домен например в одной из таких зон .РФ, .ДЕТИ, .ҚАЗ
, то нужно указывать конвертированный punycode вариант.

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

Ожидание подтверждения
После создания DNS записи, можно вернуться в личный кабинет и нажать Добавить, домен перейдёт в режим проверки.

Валидация обычно занимает от 15 минут до 2 часов, но может растянуться и на пару дней, зависит от TTL на DNS запись. Процесс проверки ограничен 24 часами, и разбит на 2 основных этапа:
- Проверка DNS - проверяем, что ваш домен настроен корректно
- Проверка TLS - выпускаем Let's Encrypt сертификат для вашего домена
Если процесс добавления завершился ошибкой DNS, проверьте, что вы верно создали DNS запись и она указывает на нужный сервер. Если всё корректно, возможно ещё не обновился DNS кэш и нужно ждать, тогда просто возобновите проверку. Если процесс добавления завершился ошибкой TLS, проверьте нет ли явных ошибок в настройке DNS: AAAA записи, рекурсивно зацикленные указатели. Если самостоятельно разобраться не получается, обратитесь в поддержку.
Использование
После успешной верификации домена, вы получите письмо с уведомлением.

Теперь его можно начать использовать, для этого к команде tuna http <ваш_порт>
укажите флаг --domain
или его короткий вариа нт -d
или переменную окружения и ваш домен, например:
tuna http 8080 --domain=api.tuna-dev.ru
tuna http 8080 -d api.tuna-dev.ru
export TUNA_DOMAIN=api.tuna-dev.ru
tuna http 8080