Перейти к содержимому
К
SSL

Let's Encrypt: как работает автопродление и почему оно ломается

Let's Encrypt изменил рынок: бесплатный сертификат, который ставится за минуту и продлевается сам. Сегодня им защищена большая часть сайтов малого бизнеса. У него один нюанс, который забывают в момент установки: сертификат действует 90 дней, и если автопродление тихо сломалось, узнаёте вы об этом, когда сайт начинает пугать клиентов красным экраном.

Как это устроено

Сертификат выдаётся после проверки, что вы контролируете домен. Проверка автоматическая: сервис просит разместить на вашем сервере специальный файл или добавить запись в DNS, затем сам его проверяет. Если всё на месте — сертификат выдан. На сервере при этом живёт небольшая программа, которая раз в сутки проверяет срок и за 30 дней до конца повторяет процедуру заново. Обычно всё это делает панель хостинга, и владелец сайта ничего не видит.

Короткий срок жизни — не недостаток, а принцип: чем быстрее сертификат истекает, тем меньше ущерб, если ключ утёк. Но это же означает, что цепочка проверки должна работать каждые два-три месяца без сбоев.

Почему автопродление ломается

Сертификат не продлевается, когда проверка владения доменом не проходит. Причины почти всегда одни и те же.

  • Сайт переехал на другой хостинг. Программа продления осталась на старом сервере, а домен уже смотрит на новый. Проверка идёт на новый сервер, где никто её не ждёт.
  • Сменили DNS или подключили CDN и защиту от DDoS. Запрос на проверку теперь приходит через посредника, и файл проверки не находится.
  • Настроили редиректы. Например, весь трафик отправляется на www-версию или на другую страницу, включая служебный адрес проверки.
  • Закрыли сайт паролем или доступом по IP на время разработки. Проверяющий сервер тоже не может войти.
  • Обновили сервер или панель, и служба продления перестала запускаться. Никаких сообщений — просто перестала.
  • Домен истёк или DNS-записи ведут не туда.

Показательный случай: клиент подключил защиту от DDoS через внешний сервис. Всё работало два месяца — ровно до момента продления. Сертификат не обновился, сайт стал «небезопасным» за день до старта рекламной кампании. Проверка не проходила через фильтр, потому что он отдавал свою страницу вместо файла подтверждения.

Как понять, что всё в порядке

  1. Нажмите на замок в браузере и посмотрите срок действия сертификата. Если до конца меньше 30 дней и он не обновился — продление уже не работает.
  2. Проверьте, что Let's Encrypt присылает предупреждения на актуальную почту: за 20 и 10 дней до истечения приходят письма, если продление не прошло.
  3. Поставьте внешний мониторинг сертификата. Бесплатные сервисы мониторинга умеют предупреждать за две недели до истечения. Это надёжнее, чем письма.
  4. После любого переезда, смены DNS, подключения CDN или защиты сразу запускайте продление вручную и убедитесь, что оно проходит.

Если уже истёк

Зайдите в панель хостинга, найдите раздел SSL и нажмите перевыпуск или продление. Если проходит — проблема была разовой. Если выдаёт ошибку — читайте текст: там будет написано, что именно не удалось проверить. Чаще всего это тот самый файл, который не удаётся получить из-за редиректа или фильтра. На время можно исключить служебный путь из редиректов, а после выпуска вернуть всё обратно.

Когда лучше платный сертификат

Let's Encrypt подходит большинству сайтов. Платный с годовым сроком имеет смысл, когда инфраструктура сложная: несколько серверов, балансировщики, корпоративные системы, где каждое продление — это согласования. Или когда нужна проверка организации для доверия в B2B. В остальных случаях бесплатный сертификат плюс мониторинг — разумный выбор.

На сайтах, которые мы в CasperLab ведём на поддержке, срок сертификата отслеживает мониторинг, а после каждого изменения инфраструктуры мы проверяем продление руками. Если ваш сайт уже однажды краснел из-за истёкшего сертификата, приходите — настроим так, чтобы это не повторилось.

Выбрать SSL в CasperLab

Поможем подобрать решение под вашу задачу и рассчитаем стоимость без обязательств.

Выбрать SSL
Поделиться:
Почему сертификат Let's Encrypt действует всего 90 дней?
Это сознательное решение сервиса: короткий срок снижает ущерб при утечке ключа и заставляет автоматизировать продление. При работающем автопродлении владелец сайта срок вообще не замечает.
Как проверить, что автопродление работает?
Посмотрите срок сертификата через замок в браузере: продление происходит примерно за 30 дней до конца. Если до истечения осталось меньше месяца, а дата не обновилась, — автопродление сломано. Надёжнее всего поставить внешний мониторинг сертификата.
После переезда на другой хостинг сертификат не продлился — что делать?
Выпустить новый сертификат в панели нового хостинга. Старый сервер уже не отвечает за домен, поэтому его программа продления работать не будет. После выпуска убедитесь, что автопродление включено на новом сервере.