PST.NET

Создаём неограниченное число поддоменов для слива трафика

Dimas

Участник
07.08.2021
133
29
39
Рассмотрим вариант работы, когда у нас есть хороший домен с историей.
Будем лить траф на поддомены, а чтобы не добавлять каждый раз новый поддомен в 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» и там добавляем запись вот так:



Добавление wildcard-записи в Beget
  • Имя: *
  • Тип: A
  • Адрес: IP адрес вашего сервера
NameCheap
Заходим в домен, далее в «Advanced DNS» и погнали:



Добавление wildcard-записи в NameCheap
  • Type: A Record
  • Host: *
  • Value: IP вашего сервера
С wildcard-записями покончено. Пойдём добавлять сертификат!

Создаём Wildcard сертификат для HTTPS
Покажу здесь два варианта:
  • для Beget
  • для выпуска сертификата внутри VPS/VDS
Создание wildcard-сертификата в Beget
Идём в «Управление доменами и поддоменами» и там выпускаем wildcard-сертификат.
ВНИМАНИЕ: не забудьте направить весь траф с поддоменов на основной домен!




Выпуск wildcard-сертификата в Beget

Создание 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) нужные записи для подхватывания сертификатов:



Конфиг домена с добавленными сертификатами

Вывод
После проведения всех вышеописанных манипуляций у вас будет неограниченное кол-во поддоменов. Кстати, если вы используете мою бесплатную кло, то вы сможете повесить на каждый поддомен отдельный вайт для тестирования! А на этом всё, льём в плюс и не забываем закинуть донат автору на чашку пуэра!

Источник