Перейти к содержимому
VDS · Сеть, адрес и домены

Привязать домен к машине

Полный путь от записи A у регистратора до работающего сайта на HTTPS: какие записи создать, как настроить nginx и как выпустить сертификат.

Обновлено 23 августа 2026 г.

Домен сам по себе ничего не открывает. Нужны две части: запись DNS, которая ведёт имя на адрес машины, и веб-сервер на машине, который знает, что делать с этим именем.

Шаг 1. Записи DNS

Адрес возьмите в «Обзоре» панели /hosting/vds/<id>. У регистратора или в панели DNS создайте:

example.com.       A      <адрес машины>
www.example.com.   CNAME  example.com.

Проверьте через несколько минут:

dig example.com A +short
dig www.example.com A +short

Обе команды должны вернуть адрес вашей машины. Если возвращают старое значение — это кеш, подождите истечения TTL. Подробнее о типах записей — DNS без магии.

Шаг 2. Веб-сервер

apt install -y nginx

Создайте /etc/nginx/sites-available/example.com:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.html;
}

Включите и перезапустите:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
mkdir -p /var/www/example.com
echo ok > /var/www/example.com/index.html
nginx -t
systemctl reload nginx

Порты 80 и 443 должны быть открыты в брандмауэре — см. ufw и порты.

Шаг 3. HTTPS

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
systemctl status certbot.timer

Certbot сам добавит блок listen 443 ssl и настроит перенаправление. Продление идёт по таймеру, вмешательства не требует. Проверить обновление можно заранее:

certbot renew --dry-run

Выпуск сертификата работает только тогда, когда домен уже указывает на машину: Let's Encrypt проверяет это подключением на порт 80.

Несколько доменов на одной машине

Ограничения нет: заводите отдельный файл конфигурации на каждое имя. Nginx выбирает нужный по server_name. Полезно добавить блок-заглушку, чтобы обращения по голому адресу не попадали на первый попавшийся сайт:

server {
    listen 80 default_server;
    server_name _;
    return 444;
}

Частые ошибки

СимптомПричинаРешение
Открывается чужой или не тот сайтНет default_server, имя не совпалоПроверить server_name, добавить заглушку
Certbot: Timeout during connectПорт 80 закрыт брандмауэром или домен ведёт не сюдаОткрыть 80, проверить dig
www не работаетНет CNAME или имя не указано в сертификатеДобавить запись и -d www.example.com
Браузер показывает старый сайтКеш браузера и HSTSПроверить curl -I https://example.com

Не выпускайте сертификат, пока dig не показывает ваш адрес. Неудачные попытки расходуют лимиты Let's Encrypt, и следующая попытка может упереться в ограничение на несколько часов.