‹ Блог·Разбор · 4 ноября 2026

Истекает SSL-сертификат: что проверить до предупреждения браузера

Замок на главной зелёный, а сертификат на www, поддомене, почте или сервере за CDN может кончиться через неделю. Показываем, где посмотреть дату, какие адреса проверить и почему с 15 марта 2026 года новый сертификат живёт не больше 200 дней.

Карусель по статье6 слайдов · листайте →
Слайд 1 — Истекает SSL-сертификат: что проверить до предупреждения браузераСлайд 2 — Истекает SSL-сертификат: что проверить до предупреждения браузераСлайд 3 — Истекает SSL-сертификат: что проверить до предупреждения браузераСлайд 4 — Истекает SSL-сертификат: что проверить до предупреждения браузераСлайд 5 — Истекает SSL-сертификат: что проверить до предупреждения браузераСлайд 6 — Истекает SSL-сертификат: что проверить до предупреждения браузера

Что вы получите из статьи:

  • где посмотреть дату окончания сертификата в браузере и одной командой, если есть свой сервер
  • список адресов, которые проверяют реже всего - www, поддомены, почта, сервер за CDN
  • порог в 30 дней, по которому видно, что автопродление не сработало, до того как сайт покажет ошибку
  • новые сроки жизни сертификатов по правилам CA/Browser Forum и Let's Encrypt - 200, 100 и 47 дней
  • что видно по сроку сертификата в кабинете ARTGK Code

Из практики: применить можно за 10-15 минут на сайт с несколькими адресами (оценка редакции, не замер), экономит время на поиски подрядчика и платных сервисов - хватит браузера или одной команды.

Дату окончания сертификата видно за минуту: в браузере это поле «Действителен до» в свойствах сертификата, на сервере - строка notAfter из openssl. Проверять надо не только главную страницу: у www, поддоменов, почты и сервера за CDN бывают свои сертификаты со своими датами. Запас времени сокращается: бесплатный сертификат Let's Encrypt живёт 90 дней, с 10 февраля 2027 года - 64, а любой публичный сертификат, выпущенный с 15 марта 2026 года, не может жить дольше 200 дней. Писем об истечении Let's Encrypt не рассылает с 4 июня 2025 года. Если у бесплатного 90-дневного сертификата осталось меньше 30 дней, автопродление, скорее всего, не сработало.

Срок сертификата основного адреса виден в кабинете без команд. Если добавить сайт в кабинет ARTGK Code, там видно, сколько дней осталось у сертификата. Для начала нужен только email, сайт можно добавить позже.

Где посмотреть, когда истекает SSL-сертификат?

Самый быстрый способ - браузер. Нажмите на значок слева от адреса, откройте сведения о подключении и сертификат. Нужное поле показывает дату окончания, у разных браузеров оно называется по-разному, например «Действителен до». Порядок один: значок, подключение, сертификат.

Это поле соответствует notAfter из стандарта RFC 5280: в нём сказано, что срок действия задают две даты, начало (notBefore) и конец (notAfter). Рядом смотрите поле «Альтернативное имя субъекта» (SAN). Это список адресов, на которые выпущен сертификат. У artgk.app по замеру на 04.11.2026 в списке два имени: artgk.app и www.artgk.app. Если вы видите у себя только имя без www, то адрес с www закрыт другим сертификатом или не закрыт вовсе.

По описанию MDN, современный хостинг, скорее всего, сам управляет вашим сертификатом, поэтому дату стоит проверять там, где он подключён, а не предполагать. Браузер показывает сертификат, который отдал сервер именно вам. Если сайт стоит за CDN, это сертификат CDN, а не вашего сервера. Об этом отдельный раздел ниже. В кабинете ARTGK Code те же сведения видны числом дней: на странице «Мониторинг» есть карточка «Сертификат HTTPS» с количеством дней и датой окончания.

Почему проверять срок теперь нужно чаще?

Сертификаты стали жить заметно меньше. По правилам CA/Browser Forum (раздел 6.3.2 Baseline Requirements) сертификат, выпущенный с 15 марта 2026 года, живёт не больше 200 дней. Для выпущенных с 15 марта 2027 года предел 100 дней, с 15 марта 2029 года - 47. Let's Encrypt даёт 90 дней сейчас и объявил переход на 64 дня с 10 февраля 2027 года и на 45 дней с 16 февраля 2028 года. Покупка «на год и забыл» больше не работает. Просроченный сертификат ещё и нельзя обойти: если на сайте включён заголовок HSTS, по описанию MDN браузер не даст посетителю обойти ошибку защищённого соединения, в том числе из-за недействительного сертификата.

Дата выпуска или переходПлатный сертификат, максимум по правилам CA/B ForumБесплатный Let's Encrypt
До 15.03.2026398 дней90 дней
С 15.03.2026200 дней90 дней
С 10.02.2027200 дней64 дня (по умолчанию)
С 15.03.2027100 дней64 дня
С 16.02.2028100 дней45 дней
С 15.03.202947 дней45 дней

Let's Encrypt сообщил, что последний 90-дневный сертификат истечёт 11 мая 2027 года. Дополнительно у них есть профиль на 6 дней, но его выбирают сознательно, и по умолчанию он не включён. Переход на 64 и 45 дня остаётся объявленным планом Let's Encrypt, правилом он пока не стал. Сроки CA/B Forum закреплены в Baseline Requirements, голосование по ним закончилось 11 апреля 2025 года.

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

Придёт ли письмо, что сертификат скоро кончится?

От Let's Encrypt письма не придут. Эту рассылку закрыли: на странице Let's Encrypt указано, что сервис прекращён 4 июня 2025 года. Если подрядчик когда-то ставил вам сертификат и указал почту, то ждать оттуда напоминаний с лета 2025 года бессмысленно.

В том же объявлении Let's Encrypt предлагает ставить сторонний сервис мониторинга и держит список таких сервисов на странице Monitoring Service Options. В разборе перехода на 45 дней Let's Encrypt добавляет рекомендацию: проверьте, что у вас есть мониторинг, который сообщит, если сертификаты не продлились в ожидаемый срок.

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

Как выглядит предупреждение о сроке, можно посмотреть без регистрации: в демо-кабинете на первом экране есть блок «Требует внимания» со строкой «SSL «ARTGK Demo» истекает через 11 дн» и подсказкой «продлите сертификат».

Какие адреса сайта проверить, кроме главной страницы?

Проверьте каждый адрес, который открывают люди или программы. Сертификат выпускают на конкретные имена, и у одного сайта их набирается несколько: с www и без www, поддомены вроде shop. или lk., почтовый сервер, ваш сервер за CDN, второй сервер за балансировщиком. Главная страница в браузере - только один из этих адресов.

Где прячется сертификатПочему про него забываютКак проверить
Адрес с www и без wwwПродлили один сертификат, а второе имя не вошло в SANПоле SAN в сертификате, открыть оба адреса
Поддомены (личный кабинет, интернет-магазин, API)Их ставили отдельно и в разное времяКоманда openssl для каждого имени
Сервер за CDNБраузер видит сертификат CDN, свой сертификат на сервере никто не открываетКоманда openssl с адресом самого сервера
Почтовый серверВ браузере его не открыть, о проблеме узнают по недошедшим письмамКоманда openssl с ключом -starttls
Несколько серверов за балансировщикомПродлили на одномПроверка каждого сервера отдельно
Wildcard-сертификат (звёздочка вместо имени)У Let's Encrypt выпускается только через проверку DNS, автопродление зависит от доступа к DNSДата в сертификате и способ продления в панели

Про несколько серверов Let's Encrypt пишет прямо: при проверке HTTP-01 файл-подтверждение должен быть доступен на всех веб-серверах сразу. Если у вас два сервера, продление на одном из них не значит, что второй получил новый сертификат. Про wildcard там же: такой сертификат выпускается только через проверку DNS-01.

Зелёная главная и рабочий сертификат на остальных адресах - разные вещи, как и в истории про код 200 и заявки: страница открылась, а что с остальным, показывает только отдельная проверка.

Как проверить срок сертификата командой, если сервер свой?

Нужен терминал с openssl. Все примеры ниже выполнены 04.11.2026 на сервере ARTGK (OpenSSL 3.0.2, curl 7.81.0); даты в выводе будут другими, когда вы это читаете.

Шаг 1. Узнайте дату окончания у любого адреса:

терминал
echo | openssl s_client -connect app.artgk.ru:443 -servername app.artgk.ru 2>/dev/null | openssl x509 -noout -enddate

Вывод: notAfter=Dec 7 00:12:19 2026 GMT. Ключ -servername передаёт серверу имя сайта (SNI). Без него сервер, на котором живёт несколько сайтов, может отдать сертификат соседнего сайта.

Шаг 2. Посмотрите все имена и срок за один заход:

терминал
echo | openssl s_client -connect artgk.app:443 -servername artgk.app 2>/dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltName

В выводе для artgk.app: notBefore=Nov 1 02:32:33 2026 GMT, notAfter=Jan 30 02:32:32 2027 GMT, имена DNS:artgk.app, DNS:www.artgk.app. Срок между этими датами - 90 дней, это обычный сертификат Let's Encrypt.

Шаг 3. Сделайте проверку для скрипта. Ключ -checkend принимает число секунд и возвращает ненулевой код, если сертификат истечёт раньше:

терминал
echo | openssl s_client -connect app.artgk.ru:443 -servername app.artgk.ru 2>/dev/null | openssl x509 -noout -checkend 1209600; echo $?

Число 1209600 - это 14 суток в секундах. Если сертификат продержится дольше, openssl напишет Certificate will not expire и вернёт 0. Если нет, вернёт 1.

Шаг 4. Посчитайте оставшиеся дни:

терминал
end=$(echo | openssl s_client -connect app.artgk.ru:443 -servername app.artgk.ru 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
echo $(( ($(date -d "$end" +%s) - $(date +%s)) / 86400 ))

На 04.11.2026 для app.artgk.ru получилось 32 дня.

Шаг 5. Проверьте почтовый сервер. Для SMTP сначала включается шифрование командой STARTTLS, поэтому нужен ключ -starttls smtp. Пример на публичном сервере Яндекса:

терминал
echo | openssl s_client -starttls smtp -connect smtp.yandex.ru:587 -servername smtp.yandex.ru 2>/dev/null | openssl x509 -noout -subject -enddate

Вывод: notAfter=Mar 14 20:59:59 2027 GMT.

Шаг 6. Если сайт за CDN, обратитесь к серверу напрямую, подставив его IP-адрес:

терминал
echo | openssl s_client -connect IP_СЕРВЕРА:443 -servername ваш-домен.ru 2>/dev/null | openssl x509 -noout -enddate

Эта команда покажет дату на самом сервере, а не на CDN.

Шаг 7. Если на сервере стоит certbot, команда certbot certificates печатает список сертификатов с датой и количеством дней. В документации certbot строка выглядит так: Expiry Date : 2017-02-19 19:53:00+00:00 (VALID : 30 days), рядом идёт список Domains. На нашем сервере эту команду мы не запускали, формат взят из документации.

Для разовой проверки подойдёт и curl -svI https://адрес/ 2>&1 | grep -E "expire date|verify". Для app.artgk.ru на 04.11.2026 curl напечатал expire date: Dec 7 00:12:19 2026 GMT и SSL certificate verify ok.

Как проверять сразу несколько адресов одним скриптом?

Если адресов больше трёх, держите их списком в файле и прогоняйте цикл. Скрипт ниже (для Linux, date -d на macOS работает иначе) читает имена из файла hosts.txt (по одному в строке), берёт дату окончания у каждого и печатает остаток в днях. Остаток меньше 30 дней помечается словом СМОТРЕТЬ. Это наш пример для редакции, не рецепт из документации: подстройте порог под свои сертификаты.

терминал
#!/bin/bash
# hosts.txt: по одному имени в строке, например app.artgk.ru
while read -r host; do
  [ -z "$host" ] && continue
  end=$(echo | openssl s_client -connect "$host:443" -servername "$host" 2>/dev/null \
        | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
  if [ -z "$end" ]; then echo "$host: сертификат не получен"; continue; fi
  days=$(( ($(date -d "$end" +%s) - $(date +%s)) / 86400 ))
  mark=""; [ "$days" -lt 30 ] && mark="  СМОТРЕТЬ"
  echo "$host: $days дн. (до $end)$mark"
done < hosts.txt

Строка «сертификат не получен» тоже сигнал: сервер не ответил на порту 443 или не отдал сертификат для этого имени.

Дату openssl печатает в GMT, то есть по Гринвичу. Для Москвы прибавьте три часа. Сертификат app.artgk.ru из примера выше заканчивается 7 декабря 2026 года в 00:12:19 GMT, это 03:12 по Москве того же дня. Лучше считать конец срока на сутки раньше: в последний день тревогу бить уже поздно.

Как понять, что автопродление сломалось, пока сертификат ещё действует?

Откройте дату окончания у бесплатного сертификата. Если до конца осталось меньше 30 дней, автопродление, скорее всего, не сработало. Основание - документация certbot: начиная с версии 4.0.0 сертификат считается готовым к продлению, когда осталось меньше трети его срока. У 90-дневного сертификата треть - это 30 дней. До версии 4.0.0 порог был фиксированным, те же 30 дней. Порог 30 дней верен для 90-дневных сертификатов. С 10 февраля 2027 года, когда срок станет 64 дня, треть - примерно 21 день, а при 45 днях с 16 февраля 2028 года - 15. Если продлением занимается панель хостинга, у неё может быть свой порог: уточните его в справке хостинга.

Let's Encrypt советует продлевать 90-дневные сертификаты каждые 60 дней. Значит, на 30-м дне до конца продление уже должно было пройти, и сертификат должен быть новым. Если вы видите 25 или 10 дней, не ждите: что-то мешает.

Причины, из-за которых автопродление умирает тихо:

  • Не работает таймер или задача cron. Расписание ищут в /etc/crontab, /etc/cron.*/* или командой systemctl list-timers.
  • Закрыт порт 80. Проверка HTTP-01 идёт только по 80-му порту, так сказано в документации Let's Encrypt. Редиректы Let's Encrypt проходит максимум 10 раз и только на порты 80 и 443.
  • Сертификат выпускали с ключом --manual. Документация certbot: такие сертификаты не продлеваются сами, если не добавить скрипты проверки.
  • Wildcard-сертификат у Let's Encrypt продлевается только через проверку DNS, а доступа к DNS у скрипта больше нет.
  • Запись CAA в DNS разрешает выпуск только одному удостоверяющему центру. Если вы сменили центр, а запись осталась старой, перевыпуск не пройдёт.
  • Сайт переехал на другой хостинг, а certbot остался на старом.

Проверить, что автопродление живо, можно без риска: certbot renew --dry-run прогоняет продление без сохранения сертификатов на диск. Подробности с командами лежат в статье Истёк SSL-сертификат: что делать: она про случай, когда срок уже вышел.

Let's Encrypt к тому же просит найти в задачах cron, скриптах и инструкциях жёстко записанные числа вроде 83, 80 или 60. Если в вашем скрипте продление запускается раз в 60 дней, при 64-дневном сертификате этого уже не хватит.

Сертификат продлили, а сайт показывает старый: что проверить?

Чаще всего веб-сервер не перечитал файл. Сотрудник Let's Encrypt на форуме пишет, что самая частая причина такой проблемы - nginx не перезагрузили после продления. Другой участник форума объясняет почему: nginx из соображений производительности не читает сертификат с диска при каждом обращении. Новый сертификат уже лежит на диске, но работает старый, пока сервер не перезапущен или не получил команду перечитать настройки.

Что проверить по порядку:

  • Перезагрузите веб-сервер и снова откройте дату командой из предыдущего раздела.
  • Убедитесь, что конфиг смотрит на нужный файл. Для nginx это grep -r ssl_certificate /etc/nginx: иногда он указывает на копию сертификата в другой папке, а не на файл, который обновляет certbot.
  • Если серверов несколько, проверьте дату на каждом. Продление на одном не обновит остальные.
  • Если сайт за CDN, проверьте сертификат на самом сервере. У Cloudflare в режиме Full (strict) сертификат на вашем сервере обязан быть действующим. Если он истёк, посетитель видит ошибку 526 «invalid SSL certificate», хотя собственный сертификат CDN свежий.
  • Если оплатили продление у продавца, убедитесь, что новый сертификат скачан и поставлен. На форуме Хабр Q&A это объясняют так: «Технически, продление сертификата ничем это и есть выпуск нового. Старый продлить нельзя.» Оплата в кабинете регистратора сама на сервер ничего не устанавливает.

За сколько дней до окончания начинать беспокоиться?

Три порога. Остаток в 30 дней - повод проверить, почему сертификат не продлился сам: у бесплатного продление к этому времени должно было пройти. Остаток в 14 дней - чинить нужно сегодня. Когда осталось 3 дня, это уже авария, и вскоре посетитель увидит предупреждение браузера.

Порог в 30 дней встречается и у продавцов. В справке Рег.ру сказано: «Кнопка «Продлить» становится активна только за 30 дней до окончания действия сертификата.» Для сертификатов, которые продаёт Рег.ру, это значит: раньше купить продление нельзя, и 30 дней - реальное окно для владельца.

Пороги 14 и 3 дня заложены и в настройках кабинета ARTGK Code: в демо есть пункт «Сертификат HTTPS скоро кончится» с подписью «За 14 дней и ещё раз за 3 дня». Но на той же странице написано, что письма о мониторинге пока не отправляются, так что срок надо смотреть в самом кабинете. В уведомлениях сервиса видна запись «SSL-сертификат кончается через 14 дн.».

Что увидит владелец в кабинете ARTGK Code?

Срок сертификата в кабинете виден числом дней, а не датой в свойствах. Это описание демо-кабинета на 04.11.2026, цифры там демонстрационные. На странице «Мониторинг» написано: «Проверяем сайт каждые 5 минут, срок сертификата HTTPS - раз в час.»

Что именно вы увидите:

  • На странице «Обзор» блок «Требует внимания». В демо там строка «SSL «ARTGK Demo» истекает через 11 дн» с подсказкой «продлите сертификат».
  • На странице «Мониторинг» карточка «Сертификат HTTPS»: в демо там «11 дн.» и дата 15.11.2026, рядом доля времени, когда сайт работал, и время ответа.
  • Там же блок «Уведомления сервиса» с записью вроде «SSL-сертификат кончается через 14 дн.» с датой.
  • Блок «Сроки оплаты»: в демо там указана дата, до которой оплачен домен, а дату оплаты хостинга владелец вводит сам. Это отдельная тема, но причина та же: сайт перестаёт работать из-за пропущенной даты.

Чего в кабинете нет. На странице мониторинга прямо написано: «Письма о мониторинге пока не отправляем - запускаем их постепенно». Поэтому смотреть срок надо в самом кабинете, а не ждать письма. Сертификат кабинет не продлевает: продлевают там, где его выпускали, на хостинге, у продавца или через certbot. Проверяет кабинет сайт, который вы в него добавили; про каждый поддомен и про почтовый сервер на публичных страницах ничего не сказано, поэтому проверяйте их командами из этой статьи.

Попробовать можно в двух вариантах: открыть демо-кабинет без регистрации или добавить свой сайт: на странице заявлено 30 дней тарифа «Бизнес» бесплатно, для начала нужен только email. Другие проверки кабинета - SEO, юридические риски, видимость в нейросетях - описаны в статье Как бесплатно проверить сайт, а про доступность и скорость - в материале про мониторинг доступности.

Чек-лист: что проверить до предупреждения браузера

Пройдите по пунктам за один заход, примерно за 10-15 минут. Оценка времени наша, она зависит от числа адресов.

  1. Выпишите все адреса сайта: основной домен, www, поддомены, почтовый сервер, сервер за CDN.
  2. Откройте дату окончания у каждого адреса (браузер или команда из раздела про openssl).
  3. Убедитесь, что в SAN есть и адрес без www, и адрес с www.
  4. Выясните, кто и как продлевает каждый сертификат: панель хостинга, certbot, продавец.
  5. Откройте кабинет продавца или настройки панели и посмотрите, на какую почту приходят уведомления. Сверьте адрес с живым ящиком.
  6. Если сертификат бесплатный 90-дневный, проверьте порог: осталось больше 30 дней, значит автопродление живо. Для 64-дневных порог около 21 дня.
  7. Если сайт за CDN, проверьте сертификат на самом сервере командой с его IP-адресом.
  8. Проверьте почтовый сервер командой -starttls smtp.
  9. Поставьте проверку на каждый адрес в мониторинг или хотя бы напоминание в календаре на 30, 14 и 3 дня до даты.
  10. После переезда на другой хостинг или смены DNS повторите все пункты с начала.

Частые вопросы о сроке SSL-сертификата

Сайт на 1С-Битрикс или Аспро: кто отвечает за сертификат? Сам сайт сертификат не выпускает. Его ставят на хостинге, на сервере или в CDN, поэтому смотреть дату надо там же, где сертификат подключали.

Хватит ли онлайн-проверки раз в месяц? Нет. Автопродление должно сработать примерно за 21 день до конца 64-дневного сертификата и за 15 дней до конца 45-дневного. Проверка раз в месяц может увидеть сбой уже в красной зоне. Лучше автоматизировать: мониторингом или скриптом с -checkend.

Можно ли купить сертификат на два года? Подписку на услугу купить можно, а сертификат на два года выпустить нельзя: с 15 марта 2026 года максимум 200 дней. Многолетняя услуга на практике означает несколько перевыпусков в рамках оплаченного периода.

Что делать, если сертификат уже истёк? Перевыпустить и поставить новый. Порядок действий разобран в статье Истёк SSL-сертификат: что делать.

Сайт вообще не открывается, это сертификат? Не обязательно. Причин у такой проблемы больше, и первые шаги описаны в статье Сайт не открывается: что делать по шагам.

Источники

  • FAQ Let's Encrypt: сроки 90 и 6 дней, SAN, wildcard - letsencrypt.org
  • Переход с 90 на 45 дней, пост Let's Encrypt от 02.12.2025 - letsencrypt.org
  • Сертификаты на 64 дня с февраля 2027, анонс от 07.10.2026 - letsencrypt.org
  • Рассылка об истечении прекращена, заметка от 26.06.2025 - letsencrypt.org
  • Сервисы мониторинга, которые перечисляет Let's Encrypt - letsencrypt.org
  • HTTP-01 и DNS-01: как удостоверяющий центр проверяет домен - letsencrypt.org
  • Запись CAA в DNS, пояснение центра - letsencrypt.org
  • Общая документация Let's Encrypt - letsencrypt.org
  • Transport Layer Security в справочнике MDN - developer.mozilla.org
  • Справка MDN про заголовок Strict-Transport-Security - developer.mozilla.org
  • Раздел 6.3.2 правил Baseline Requirements от CA/Browser Forum - github.com
  • Голосование SC-081v3 о сокращении сроков, CA/Browser Forum - cabforum.org
  • Срок действия сертификата в стандарте RFC 5280 - rfc-editor.org
  • Руководство certbot: порог продления, certbot certificates, dry-run - eff-certbot.readthedocs.io
  • Команда x509 в OpenSSL (-enddate, -checkend) - docs.openssl.org
  • Ключ -servername в s_client, документация OpenSSL - docs.openssl.org
  • Режим Full (strict) у Cloudflare - developers.cloudflare.com
  • Ошибка 526 в справке Cloudflare - developers.cloudflare.com
  • Что перезагружать после продления: обсуждение на форуме Let's Encrypt - community.letsencrypt.org
  • Сертификат продлён, но отдаётся старый: тема на форуме Let's Encrypt - community.letsencrypt.org
  • Вопрос о продлении сертификата на Хабр Q&A - qna.habr.com
  • Справка Рег.ру о продлении услуги по выпуску SSL - help.reg.ru
  • Страница проверки сайта и демо-кабинет ARTGK Code - artgk.app

Срок сертификата, доступность и скорость сайта лежат в одном месте - в кабинете ARTGK Code.

Проверьте свой сайт за минуту

Кабинет показывает, сколько дней осталось у сертификата сайта, и хранит историю проверок. Сертификат он не продлевает: продлевают там, где его выпускали.

Проверить сайт →