Курс

Подключаем домен к VDS

МОДУЛЬ 4: ХОСТИНГИ И ДОМЕНЫ • Урок 4 из 4

Домен куплен. Теперь нужно направить его на сервер, настроить Nginx и получить SSL-сертификат.

Звучит страшно, но с Claude это займёт 15-20 минут. Разберём по шагам.

[ КАК ЭТО РАБОТАЕТ ]

У твоего VDS есть IP-адрес. Например, 185.209.30.100. Задача — сказать интернету, что домен myapp.com ведёт на этот IP.

Цепочка такая:

  1. Пользователь вводит myapp.com
  2. DNS смотрит A-запись домена → находит IP сервера
  3. Браузер подключается к серверу по IP
  4. Nginx на сервере принимает запрос и отдаёт твой сайт

Нужно настроить две вещи: DNS-запись у регистратора и Nginx на сервере.

[ ШАГ 1: НАПРАВЛЯЕМ ДОМЕН НА СЕРВЕР ]

Зайди в панель управления доменом у регистратора (VDSina, reg.ru или другой). Найди раздел DNS или "Управление DNS-записями".

Добавь A-запись:

Тип:  A
Имя:  @ (или оставь пустым — означает корневой домен)
Значение: [IP-адрес твоего VDS]
TTL:  3600 (или Auto)

Если хочешь чтобы работал и www.myapp.com, добавь вторую запись:

Тип:  A
Имя:  www
Значение: [IP-адрес твоего VDS]
TTL:  3600
💡 Где взять IP-адрес:

IP-адрес VDS написан в письме при заказе сервера или в панели управления VDSina. Это набор цифр вида 185.209.30.100. Если не можешь найти — спроси Claude или поддержку регистратора.

После сохранения подожди 5-30 минут пока DNS обновится. Проверить можно командой:

nslookup myapp.com

Должен вернуть IP-адрес твоего сервера.

[ ШАГ 2: НАСТРАИВАЕМ NGINX ]

Nginx — веб-сервер на твоём VDS. Он слушает входящие запросы и решает какому приложению их передать.

Подключись к серверу по SSH и создай конфиг для домена:

nano /etc/nginx/sites-available/myapp.com

Вставь такой конфиг (замени домен и порт своими значениями):

server {
    listen 80;
    server_name myapp.com www.myapp.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Что здесь написано:

  • server_name — твой домен (оба варианта: с www и без)
  • proxy_pass — адрес твоего приложения. Если приложение слушает порт 3000 — так и оставь

Активируй конфиг и перезапусти Nginx:

ln -s /etc/nginx/sites-available/myapp.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

nginx -t проверяет конфиг на ошибки. Если видишь syntax is ok и test is successful — всё правильно.

⚠️ Если что-то непонятно:

Отправь Claude свой конфиг и скажи что не работает. Он исправит. Nginx-конфиги — одна из его сильных сторон.

[ ШАГ 3: SSL-СЕРТИФИКАТ (HTTPS) ]

Без SSL браузер покажет "Небезопасно" и часть пользователей уйдёт. Получить сертификат бесплатно можно через Certbot.

Устанавливаем Certbot

apt install certbot python3-certbot-nginx -y

Получаем сертификат

certbot --nginx -d myapp.com -d www.myapp.com

Certbot спросит email (для уведомлений об истечении) и попросит принять условия. После этого автоматически:

  • Получит SSL-сертификат от Let's Encrypt
  • Изменит конфиг Nginx — добавит HTTPS
  • Настроит редирект с HTTP на HTTPS

Автопродление

Сертификат действует 90 дней. Certbot сам настраивает автопродление при установке. Проверь что оно работает:

certbot renew --dry-run

Если команда завершилась без ошибок — всё ок. Сертификат будет продлеваться автоматически.

💡 Совет:

Если Certbot выдаёт ошибку — скопируй текст ошибки и отправь Claude. Он скажет что именно не так. Чаще всего проблема в том, что DNS ещё не обновился или порт 80 закрыт в файрволе.

[ ЕСЛИ НЕ ОТКРЫВАЕТСЯ ]

Самая частая причина — закрытые порты в файрволе. Проверь и открой нужные:

ufw allow 80
ufw allow 443
ufw status

Порт 80 — HTTP, порт 443 — HTTPS. Оба должны быть открыты.

Другие частые проблемы:

  • DNS ещё не обновился — подожди ещё 10-15 минут
  • Приложение не запущено — проверь что оно работает (pm2 status или systemctl status)
  • Неправильный порт в конфиге Nginx — проверь на каком порту слушает твоё приложение
VDSina — VDS и домены для РФ
Купи сервер и домен в одном месте · Оплата картой РФ
Русский интерфейс · Поддержка на русском
Перейти на VDSina →

[ ПРОВЕРКА ]

Что должно быть:

  • A-запись домена указывает на IP сервера
  • Nginx настроен и принимает запросы на домен
  • SSL-сертификат получен, сайт открывается по HTTPS
  • Автопродление сертификата настроено
  • Сайт открывается по адресу https://myapp.com
💬 Совет:

Если что-то не работает — не паникуй. Скопируй ошибку, отправь Claude и опиши что ты делал. Проблемы с Nginx и DNS решаются в 95% случаев за 2-3 сообщения.