Как получить SSL-сертификат на VPS

☁️ LikeVPS × SSL

Бесплатный SSL через Certbot:
HTTPS на VPS за 10 минут

Выпусти сертификат Let’s Encrypt вручную, без стороннего софта и панелей — только SSH и пара команд.

Нужен HTTPS на сайте, который работает на VPS? Это делается просто и бесплатно — получить SSL через Certbot и Let’s Encrypt. Так ты быстро настроишь безопасное соединение. Всё вручную — без стороннего софта и GUI: достаточно управлять сервером самому и иметь доступ по SSH.

SSL через Certbot: бесплатный HTTPS на VPS


🔐 Как получить SSL через Certbot: пошаговая инструкция

Просто выполняй эти шаги по порядку.

Шаг 1 — Подключись к VPS по SSH

На ПК (Windows, macOS или Linux) открой терминал или программу для SSH и введи команду:

ssh root@your_server_ip

Где your_server_ip — IP-адрес VPS, который выдают после аренды. Например, если у сервера IP 178.128.12.34:

ssh root@178.128.12.34

Если заходишь не под root, а под другим пользователем (например, ubuntu):

ssh ubuntu@178.128.12.34

💡 В этом случае все следующие команды запускай через sudo, иначе получишь ошибки доступа.

Шаг 2 — Установи Certbot и нужный плагин

Certbot — официальный клиент для получения сертификатов Let’s Encrypt.

На Ubuntu / Debian:

apt update
apt install certbot python3-certbot-nginx -y

На CentOS / AlmaLinux / Rocky Linux:

yum install epel-release -y
yum install certbot python3-certbot-nginx -y

Если у тебя Apache вместо Nginx:

apt install python3-certbot-apache

Если веб-сервер не используешь (API, прокси, сокет-сервис) — плагин не нужен: сертификат выпустишь через standalone или webroot.

Шаг 3 — Проверь DNS-домена

Перед выпуском убедись, что домен указывает на IP сервера, например example.com → 178.128.12.34. Проверить A-запись можно через dnschecker.org или командой:

dig +short example.com

Если IP неправильный — настрой A-запись в панели управления доменом.

Шаг 4 — Получи сертификат

Запускаем Certbot. Команда зависит от конфигурации.

Вариант 1 — автоматический HTTPS через Nginx. Certbot сам найдёт конфиг Nginx, пропишет HTTPS и перезапустит сервер:

certbot --nginx -d example.com -d www.example.com

Вариант 2 — только получить сертификат (без вмешательства в конфиги), если пути будешь прописывать сам:

certbot certonly --nginx -d example.com

Вариант 3 — через webroot (если сайт уже работает и у него своя структура). Флаг -w — путь к папке сайта:

certbot --webroot -w /var/www/html -d example.com

Вариант 4 — без веб-сервера (API, прокси, SOCKS). Режим standalone, при этом на порту 80 не должно быть других сервисов — Certbot поднимает временный веб-сервер:

certbot certonly --standalone -d example.com

Шаг 5 — Проверь, что сертификат выдан

Если всё прошло успешно, увидишь сообщение об успешном выпуске:

Сообщение об успешном выпуске SSL-сертификата через Certbot

Затем открой https://example.com в браузере и проверь, что соединение защищено.

Шаг 6 — Настрой автообновление

Let’s Encrypt выдаёт сертификаты на 90 дней. Обновление выполняется командой:

certbot renew

Обычно Certbot уже добавляет обновление в cron или systemd. Проверить таймер:

systemctl list-timers | grep certbot

Тестовый прогон обновления (без реального перевыпуска):

certbot renew --dry-run

Готово — у тебя настроен HTTPS с бесплатным SSL от Let’s Encrypt.


🤝 Нужен сервер под сайт?

Возьми VPS, напиши нам — и мы бесплатно поможем настроить Nginx и выпустить SSL.

🛡️ Что такое SSL-сертификат и зачем он нужен

SSL-сертификат — цифровой документ, который подтверждает подлинность сайта и шифрует данные между пользователем и сервером. С ним сайт открывается по HTTPS, а не HTTP, и рядом с адресом появляется значок замка 🔒. Это значит, что логины, пароли, платёжные данные и сообщения не перехватят по пути.

Кому нужен SSL и почему без него никак

SSL обязателен, если ты:

  • запускаешь сайт с авторизацией или оплатой;
  • работаешь с API или ботами, которым нужен HTTPS-доступ;
  • создаёшь админки, дашборды и CMS, открывающиеся в браузере;
  • используешь серверные прокси или сервисы с защищённым соединением;
  • хочешь, чтобы браузеры не пугали пользователей сообщением «Небезопасное соединение».

Зачем нужен SSL-сертификат для сайта на VPS

Сертификаты Let’s Encrypt бесплатны, обновляются автоматически и подходят почти под любые задачи — от небольших сайтов до коммерческих сервисов.


⚙️ Как работает Certbot и зачем он нужен

Certbot — официальный клиент Let’s Encrypt. Он берёт на себя всю рутину:

  • проверяет DNS-сопоставление домена;
  • создаёт ключи и запрос на сертификат (CSR);
  • получает и сохраняет сертификат;
  • при желании сам настраивает Nginx или Apache;
  • создаёт задачу на автоматическое продление до истечения срока.

Certbot поддерживает несколько режимов: через плагины для Nginx/Apache, через webroot и через DNS (нужен для wildcard). Срок действия сертификатов — 90 дней, Certbot продлевает их сам.

Когда использовать webroot, а когда плагин

Сценарий Способ получения
Обычный сайт на Nginx certbot --nginx
Только HTML/JS, без PHP/бэкенда certbot --webroot -w путь
Используешь Apache certbot --apache
Нестандартный сервер (Node.js и др.) webroot или standalone
Нужен wildcard-сертификат certbot -d *.example.com с DNS-подтверждением

Как получить wildcard-сертификат

Wildcard нужен, если у тебя много поддоменов (*.example.com). Обычный Certbot не выпустит его без подтверждения через DNS. Порядок:

  • установи Certbot с DNS-плагином (например, для Cloudflare, DigitalOcean, Route53);
  • выполни команду (ниже);
  • Certbot покажет TXT-запись, которую нужно добавить в DNS;
  • после подтверждения сертификат будет выдан.
certbot -d *.example.com --manual --preferred-challenges=dns certonly

⚠️ Важно: автообновление wildcard работает только через DNS-API. Если DNS у хостера без API — придётся продлевать вручную.


📚 Полезные команды для работы с Certbot

Короткий чеклист на каждый день.

Команда Что делает
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -text -noout Показать данные текущего сертификата
certbot renew Продлить сертификаты вручную
certbot renew --dry-run Тест продления без перевыпуска
certbot delete --cert-name example.com Удалить сертификат
nginx -t && systemctl reload nginx Проверить конфиг Nginx и перезагрузить

❓ Частые вопросы

Сколько действует сертификат Let’s Encrypt?

Сертификаты Let’s Encrypt выдаются на 90 дней. Это сделано намеренно — ради безопасности и автоматизации. Certbot обычно сам добавляет задачу в cron или systemd и перевыпускает сертификат заранее, так что вручную следить за сроком не нужно.

SSL от Let’s Encrypt действительно бесплатный?

Да, полностью. Let’s Encrypt — некоммерческий центр сертификации, которому доверяют все основные браузеры. Платить не нужно ни за выпуск, ни за продление — единственные расходы это аренда самого VPS и домен.

Как выпустить SSL, если на сервере нет Nginx или Apache?

Используй режим standalone: certbot certonly --standalone -d example.com. Certbot на время выпуска поднимет собственный временный веб-сервер на порту 80, поэтому этот порт должен быть свободен. Такой способ удобен для API, прокси и сокет-сервисов.

Как получить wildcard-сертификат на все поддомены?

Wildcard (*.example.com) выпускается только через DNS-подтверждение. Запусти certbot -d *.example.com --manual --preferred-challenges=dns certonly, добавь показанную TXT-запись в DNS и подтверди. Для автообновления нужен DNS-плагин с API провайдера (Cloudflare, Route53 и т.п.), иначе продлевать придётся руками.

Что делать, если домен не указывает на сервер?

Certbot не выпустит сертификат, пока домен не резолвится на IP твоего VPS. Пропиши A-запись домена на IP сервера в панели управления доменом и проверь результат командой dig +short example.com или через dnschecker.org. Изменения DNS могут распространяться от нескольких минут до нескольких часов.


🚀 Готов включить HTTPS?

На VPS без панели HTTPS накатывается за 5–10 минут: бесплатный SSL от доверенного центра, автопродление и надёжная защита. Нужна помощь — поддержка LikeVPS на связи в Telegram.