Всем привет, на связи Жёлтый, сегодня рассмотрим вариант работы, когда у нас есть хороший домен с историей. Будем лить траф на поддомены, а чтобы не добавлять каждый раз новый поддомен в DNS-записи и не морочиться с выпуском HTTPS-сертификатов под каждый поддомен — создадим так называемый wildcard-сертификат для HTTPS, который позволит нам использовать абсолютно ЛЮБЫЕ поддомены!
Что значит «абсолютно любые»? Да вот прям буквально любые. Берём наш «трастовый» домен example.com и сами придумываем себе поддомены: lalala.example.com, holyshit.example.com, wow.example.com и далее в том же духе. На всех поддоменах будет автоматом отображаться наша связка, развёрнутая на основном домене example.com.
Для того, чтобы это работало, нам понадобится 2 вещи: wildcard DNS-запись и wildcard-сертификат. ВНИМАНИЕ: не все регистраторы доменов поддерживают добавление wildcard DNS-записей! Скажем, NameCheap и Beget поддерживают, а вот Freenom нет( Поэтому если вы там зарегали домен, то перенесите его на другие DNS-сервера, допустим на сервера Beget ☝ Для этого пропишите домену новые DNS-сервера: ns1.beget.com и ns2.beget.com.
Создаём wildcard DNS-запись
Beget
Тут всё просто: заходим в «Управление записями DNS» и там добавляем запись вот так:
- Имя: *
- Тип: A
- Адрес: IP адрес вашего сервера
NameCheap
Заходим в домен, далее в «Advanced DNS» и погнали:
- Type: A Record
- Host: *
- Value: IP вашего сервера
С wildcard-записями покончено. Пойдём добавлять сертификат!
Создаём Wildcard сертификат для HTTPS
Покажу здесь два варианта:
Создание wildcard-сертификата в Beget
Идём в «Управление доменами и поддоменами» и там выпускаем wildcard-сертификат. ВНИМАНИЕ: не забудьте направить весь траф с поддоменов на основной домен!
Создание wildcard-сертификата у вас на VPS/VDS
Я исхожу из предположения, что у вас на виртуальном сервере УЖЕ УСТАНОВЛЕН Apache или Nginx, создан конфигурационный файл для вашего домена, а в папке домена развёрнута связка. Также у вас должна быть установлена утилита certbot для выпуска сертификатов. Всё что вам остаётся сделать — выполнить следующую команду:
sudo certbot --server https://acme-v02.api.letsencrypt.org/directory -d *.example.org -d example.org --manual --preferred-challenges dns-01 certonly --agree-tos
Замение example.org на ваш домен, выполните команду и Certbot сам добавит в конфиг домена веб-сервера (в моём случае это nginx) нужные записи для подхватывания сертификатов:
Вывод
После проведения всех вышеописанных манипуляций у вас будет неограниченное кол-во поддоменов. Кстати, если вы используете мою бесплатную кло, то вы сможете повесить на каждый поддомен отдельный вайт для тестирования! А на этом всё, льём в плюс и не забываем закинуть донат автору на чашку пуэра!
Годнота. красава!
вопрос. а можно сертификат выпустить прямо в интерфейсе летсэнкрипт?
я щас делаю через zerossl, заебался раз в полгода обновлять все это дело.
в интерфейсе — хз, разве что в хостинг типа Бегета во встроенном. А на серваках тупо через certbot и cron.
Привет, спасибо за публикацию. А как направить трафик с поддомена на основной домен?
Зависит от хостинга