Привязать домен к машине
Полный путь от записи 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, и следующая попытка может упереться в ограничение на несколько часов.