TGViewer
DevOps Ready | IT DevOps Ready | IT @devops_ready · 7.66K subscribers
Post #1351 302
Проверяем срок действия TLS-сертификата до аварии!

Сайт может отвечать нормально сегодня, а через неделю начать показывать ошибку сертификата. Проверять только факт ответа по HTTPS недостаточно, нужен контроль срока действия того сертификата, который сервер отдаёт клиенту.

Подключимся к домену через openssl s_client. Параметр servername передаёт SNI, чтобы на сервере с несколькими сайтами получить нужный сертификат:
echo | openssl s_client -connect example.com:443 \
-servername example.com 2>/dev/null


В полном выводе много технических деталей. Передадим сертификат следующей команде и покажем дату окончания:
echo | openssl s_client -connect example.com:443 \
-servername example.com 2>/dev/null \
| openssl x509 -noout -enddate


Для мониторинга удобнее не разбирать дату текстом. Ключ -checkend принимает число секунд и возвращает ненулевой код, если сертификат истечёт в пределах заданного периода. Тридцать дней составляют 2592000 секунд:
echo | openssl s_client -connect example.com:443 \
-servername example.com 2>/dev/null \
| openssl x509 -noout -checkend 2592000


Проверку можно запускать по расписанию и отправлять уведомление при ненулевом коде:
set -o pipefail
echo | openssl s_client -connect example.com:443 \
-servername example.com 2>/dev/null \
| openssl x509 -noout -checkend 2592000


Эта проверка следит именно за сроком сертификата с указанного хоста. Она не заменяет полноценную проверку цепочки доверия, совпадения имени и доступности самого приложения.

➡️ DevOps Ready | #практика
Telegram DevOps Ready | IT Авторский канал по DevOps разработке. Ресурсы, обучения, задачи, шпаргалки. Ежедневно информация пополняется! Cотрудничество: @energy_c
  • ❤ 3
  • 🔥 3
  • 👍 2
More from @devops_ready
  1. Oct 7, 2026Шпаргалка по устройству GitHub Actions! На картинке показано, как событие в репозитории за…
  2. Oct 6, 2026Знали, почему jq без -e может пропустить неготовый сервис? Допустим, проверка здоровья воз…
  3. Oct 6, 2026На Stepik запустили мощный курс по «Troubleshooting Docker и Kubernetes: поиск и устранени…
  4. Oct 6, 2026📂 Напоминалка по единообразию Dockerfile в команде! Единые правила помогают сократить кол…
  5. Oct 5, 2026Изоляция процессов в Linux через Unshare без Docker и тяжелых утилит. Мы научимся использо…
  6. Oct 5, 2026Как оплачивать зарубежные сервисы в 2026 году? Можно бегать между посредниками и бояться б…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →