Как обновить старый SSL-сертификат без простоя сайта

Узнай, как обновить SSL-сертификат, чтобы сайт не заметил ни секунды простоя — быстро, безопасно и без головной боли!

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Срок действия большинства SSL-сертификатов — не более 1 года․ Подготовьтесь к обновлению заранее, чтобы посетители не увидели предупреждений браузера и поисковые системы не понизили доверие к сайту․ Ниже приведён проверенный алгоритм, который позволит обновить сертификат без единой минуты простоя․

Проверьте срок действия текущего сертификата

  • Откройте сайт в браузере → кликните на иконку 🔒 → Сертификат → Валиден до․
  • Или воспользуйтесь онлайн-сервисами: https://sslchecker․com, https://crt․sh․

Рекомендуем начинать процедуру обновления за 30–45 дней до окончания срока действия․

Выберите тип нового сертификата

Тип Подтверждение Время выпуска Стоимость
Let’s Encrypt (DV) DNS или файл 1–2 мин Бесплатно
EssentialSSL (DV) E-mail или DNS до 30 мин ~5 $/год
OV/EV Документы компании 1–5 дн․ от 50 $/год

Если нужен максимально быстрый и бесплатный вариант без простоя — выбирайте Let’s Encrypt с автопродлением через Certbot․

Выпустите новый сертификат на «хвостовом» домене

Чтобы исключить риск простоя, не перезаписывайте сразу действующий сертификат․ Лучше:

  1. Зарегистрируйте временный поддомен new․example․com (можно CNAME на тот же IP)․
  2. Выпустите сертификат для new․example․com․
  3. Проверьте работу HTTPS на поддомене․

Пример генерации сертификата Let’s Encrypt (Nginx, Ubuntu)

sudo apt update && sudo apt install certbot python3-certbot-nginx
sudo certbot certonly --webroot -w /var/www/new․example․com -d new․example․com

Сертификаты появятся в /etc/letsencrypt/live/new․example․com/․

Проверьте новый сертификат

Добавьте временный виртуальный хост и протестируйте:

server {
 listen 443 ssl;
 server_name new․example․com;
 ssl_certificate /etc/letsencrypt/live/new․example․com/fullchain․pem;
 ssl_certificate_key /etc/letsencrypt/live/new․example․com/privkey․pem;
 root /var/www/new․example․com;
}

Перезапустите Nginx:

sudo nginx -t && sudo systemctl reload nginx

Убедитесь, что браузер видит зелёный замок и правильный срок действия (см․ шаг 1)․

«Горячее» переключение на продакшен-домен

Когда новый сертификат проверен:

  • Скопируйте файлы fullchain․pem и privkey․pem в каталог продакшен-домена․
  • Замените пути в конфиге виртуального хоста example․com․
  • Проверьте конфигурацию и перезапустите сервис:
sudo nginx -t && sudo systemctl reload nginx

Важно: команда reload перечитывает конфиг без остановки процессов, поэтому простой равен 0 секунд․

Устраните Mixed Content и форс-HTTPS

После переключения:

  1. Замените все ссылки http:// на https:// в коде и БД․
  2. Добавьте редирект в Nginx:
server {
 listen 80;
 server_name example․com www․example․com;
 return 301 https://example․com$request_uri;
}

Настройте автоматическое продление

Let’s Encrypt + Certbot

sudo crontab -e

Добавьте строку:

0 3 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"

Теперь сертификат будет обновляться автоматически за 30 дней до истечения․

Платные сертификаты

В большинстве панелей (cPanel, Plesk, Timeweb) доступен пункт «Автопродление»․ Просто включите его при заказе․

Контрольный чек-лист

  • Новый сертификат выпущен и проверен на поддомене․
  • Файлы fullchain․pem и privkey․pem скопированы и права 600/644․
  • Конфиг Nginx/Apache проверен, reload выполнен без ошибок․
  • Mixed Content устранен (сервисы https://www․whynopadlock․com показывают зелёный статус)․
  • Автопродление включено (Cron или панель хостинга)․

Частые ошибки и их решения

Ошибка Возможная причина Решение
SSL_ERROR_BAD_CERT_DOMAIN Сертификат выпущен не на тот домен Проверьте CN/SAN в CSR
mixed content warning На странице остались http-ресурсы Поиск/замена в БД + Content-Security-Policy
too many redirects Дублирующие редиректы http→https Удалите лишние правила в htaccess/nginx

Подведём итог

Обновлять SSL-сертификат без простоя возможно, если:

  1. Начать процесс заранее (за 30–45 дней)․
  2. Выпустить сертификат на временный поддомен․
  3. Проверить его и «горячо» переключить пути в конфиге․
  4. Настроить автоматическое продление (Let’s Encrypt Cron или функция «Автопродление» в хостинге)․

Следуя этой инструкции, вы исключите ошибки браузеров, сохраните SEO-рейтинг и обеспечите непрерывную работу сайта․

Важно: Если используете CDN (Cloudflare, Akamai), не забудьте обновить сертификат в панели CDN или включить Universal SSL․