Бесплатно · без регистрации

Проверить SSL-сертификат сайта

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

Проверяем доступность, SSL, домен и блокировку РКН. Результат кэшируется на 10 минут.

Что показывает проверка

Проверка устанавливает TLS-соединение с сайтом и читает данные сертификата: до какой даты он действителен и сколько дней осталось, кем выдан (удостоверяющий центр — например, Let's Encrypt или другой) и на какое имя выпущен — совпадает ли оно с доменом, который вы проверяете, включая www- и поддомены.

Как читать результат

Норма — когда до истечения остаётся больше месяца, беспокоиться не о чем. Дальше порог понижается: 30 дней — предупреждение, пора запланировать продление; 14 дней — критично, ставьте задачу в приоритет; 7 дней и меньше — срочно, риск, что сайт «упадёт» для посетителей в любой момент.

Есть частный случай: сертификаты Let's Encrypt живут всего 90 дней и по протоколу должны продлеваться автоматически примерно за 30 дней до конца срока. Если проверка показывает меньше 30 дней — автопродление, скорее всего, уже не сработало, и это не «скоро само починится», а сломанный процесс, который нужно чинить руками.

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

Автопродление выглядит надёжным ровно до дня, когда даёт сбой. На практике причины почти всегда одни и те же:

  • отключён или не сработал таймер certbot — обновление никто не запускал;
  • изменился webroot или конфиг nginx, и ACME-challenge (/.well-known/acme-challenge/) стал недоступен — частая грабля: catch-all серверный блок перехватывает этот путь на себя раньше, чем certbot успевает его отдать;
  • сертификат продлился на диске, но nginx или apache не перезагрузили — процесс держит в памяти старый сертификат до reload;
  • используется DNS-01 challenge, а API-токен у DNS-провайдера протух или сменились права доступа.

Что делать, если сертификат уже истёк

Порядок действий: продлите или выпустите сертификат заново; перезагрузите веб-сервер — именно reload, продления в файловой системе недостаточно, процесс должен подхватить новый сертификат; проверьте, что отдаётся именно новый файл, командой echo | openssl s_client -servername ДОМЕН -connect ДОМЕН:443 2>/dev/null | openssl x509 -noout -dates; и отдельно проверьте цепочку сертификатов — неполная цепочка с промежуточными сертификатами часто «работает в браузере» (он умеет достраивать цепочку сам), но ломается в мобильных приложениях и серверных клиентах, которые этого не умеют.

Сертификат валиден, а браузер всё равно ругается

Если проверка показывает «норма», а пользователи всё равно видят предупреждение, дело обычно не в сроке:

  • mixed content — https-страница подгружает картинки, скрипты или шрифты по http;
  • несовпадение имени — сертификат выписан на example.ru, а сайт открывают на www.example.ru или наоборот;
  • неполная цепочка сертификатов на сервере;
  • wildcard-сертификат (*.example.ru) не покрывает вложенные поддомены третьего уровня вроде sub.app.example.ru.
Частые вопросы

Что такое цепочка сертификатов и почему она важна?

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

Wildcard-сертификат покрывает все поддомены?

Только домены первого уровня вложенности: *.example.ru покрывает shop.example.ru, но не покрывает sub.shop.example.ru. Для вложенных поддоменов нужен отдельный сертификат или отдельная wildcard-запись для каждого уровня.

Почему сертификат валиден в браузере, но ломается в мобильном приложении?

Браузеры умеют самостоятельно достраивать неполную цепочку сертификатов, используя кэш промежуточных сертификатов и AIA-расширение. Мобильные приложения и многие серверные клиенты этого не делают — им нужна полная цепочка от сервера. Если она неполная, в браузере ошибок нет, а в приложении соединение падает.

Как не пропустить истечение в следующий раз?

Разовая проверка показывает срок на текущий момент, но не предупредит заранее. Чтобы не узнавать об истечении от клиента, поставьте сайт на постоянное наблюдение в Pingvera — оповещение придёт за 30, 14 и 7 дней до истечения, в Telegram, email или Max.

Нужна ли регистрация?

Нет. Разовая проверка бесплатна и без регистрации. Регистрация нужна, только если хотите поставить сайт на постоянное наблюдение и получать оповещение о проблеме раньше, чем её заметит клиент.

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

Результат по каждому сайту кэшируется на 10 минут, чтобы не создавать лишнюю нагрузку на проверяемый сайт. Для постоянного мониторинга с проверками раз в минуту — поставьте сайт на наблюдение в Pingvera.

← На главную · Блог · Политика конфиденциальности · https://pingvera.ru