Веб-розробкаE-commerce та Бізнес

Сертифікати продовжуються самі: TLS на 116 сайтах і один, що не продовжився

22 вересня 2026 року ми перевірили HTTPS-сертифікати на 116 сайтах, які вже міряли для ринкових вимірів, і для 104 з них порівняли стан із серпневим. Усі 116 пройшли перевірку, 108 стоять на 89- і 90-денних безкоштовних сертифікатах, і лише в одного сайту сертифікат досі не продовжився, хоча за типових налаштувань уже мав би. Розбираємо заміри, межі методу й показуємо, як перевірити свій сайт однією командою.

Сертифікат HTTPS має дату закінчення, і колись за нею стежили в календарі: купили на рік, поставили нагадування, через рік купили знову. Ми вирішили подивитися, як це виглядає зараз на живих сайтах. Узяли 116 сайтів, які вже міряли для інших ринкових вимірів, і 22 вересня 2026 року перевірили сертифікат на кожному. Для 104 із них є серпневий замір 7–8 серпня, тож їхній стан можна порівняти; сім готелів уперше зняли лише 14 вересня. За час між замірами більшість сертифікатів устигла змінитися, і відвідувачі цього ніяк не помітили.

Коротко: 22 вересня сертифікат пройшов перевірку на всіх 116 сайтах, а всі 18 сайтів із найменшим серпневим залишком отримали новий. Тривожний випадок знайшовся один, і про нього окремо.

Що саме міряли і де межа методу

Вибірка складена не під цю статтю. Це кореневі адреси, які ми вже знімали з інших причин: 41 інтернет-магазин у семи нішах, 28 сайтів із SEO-вибірки в шести нішах, 23 сайти послуг у чотирьох нішах, 17 сайтів освіти й будівництва та 7 готелів. Разом 116.

Скрипт підключався до кореневого хоста на порт 443 з іменем сервера в запиті (SNI) і забирав сертифікат стандартною бібліотекою Python. Ланцюжок довіри перевірявся за системним сховищем кореневих сертифікатів.

Тут перша межа, яку треба знати, щоб правильно читати результат. Наш скрипт не докачує проміжні сертифікати, якщо сервер їх не віддав. Браузер іноді це робить сам. Тому помилка ланцюжка в нашій перевірці не обов'язково означає, що відвідувач побачив попередження: його Chrome міг тихо підтягнути відсутню ланку. Зворотне теж правда: замочок у вашому браузері не гарантує, що ланцюжок зібраний правильно для всіх клієнтів, зокрема для платіжних сервісів і ботів, які нічого не докачують.

Друга межа: перевіряли лише корінь, без www і піддоменів.

Перший замір, серпень

7–8 серпня число днів до кінця дії вдалося отримати для 104 хостів. Медіанний залишок становив 61,5 дня, найменший — 24. У 97 із 104 сайтів лишалось від 30 до 90 днів, у шести — понад 90, в одного — менше 30.

Ще один сайт, автосервіс, 7 серпня перевірку ланцюжка не пройшов: скрипт повернув CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate. Така помилка зазвичай означає, що сервер не віддав проміжний сертифікат. 22 вересня той самий хост перевірку проходить, на ньому стоїть сертифікат Asseco (Certum), виданий 11 серпня 2026 року. Що саме змінилось на сервері, ми не знаємо, бачимо лише результат.

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

22 вересня рукостискання без помилок пройшли всі 116 сайтів.

Видавців виявилось сім. Let's Encrypt стоїть на 77 сайтах, Google Trust Services — на 30. Далі Sectigo і DigiCert по три, і по одному сертифікату від Asseco (Certum), GoGetSSL та ZeroSSL. Google Trust Services часто асоціюють із Cloudflare, але хости ми окремо не перевіряли, тому не прирівнюємо одне до одного.

Строк дії показовіший за назви видавців. 77 сертифікатів видані на 89 днів, 31 — на 90. Тобто 108 зі 116, або 93 %, стоять на безкоштовних сертифікатах, розрахованих на автоматичне продовження. Ще вісім мають строк від 181 до 370 днів, і це платні видавці.

Залишок на 22 вересня: медіана 59 днів, мінімум 8, максимум 163. Менше 30 днів лишалось у трьох сайтів.

Хто продовжився

Найцікавіше видно, якщо з'єднати два заміри. У серпні 18 сайтів мали 40 днів або менше. До 22 вересня всі 18 отримали новий сертифікат.

Найгірший серпневий стан був у магазину, якому 8 серпня лишалось 24 дні. Новий сертифікат Let's Encrypt для нього виданий 19 серпня, і на 22 вересня в запасі 55 днів. Ще сім сайтів мали в серпні від 31 до 33 днів, і всі отримали нові сертифікати ще 9–11 серпня.

Загалом із 104 хостів серпневого заміру новий сертифікат між двома перевірками з'явився у 72. Це не означає, що решта в небезпеці: у них просто ще не настав момент продовження.

Єдиний тривожний випадок

Сайт спортивного клубу з вибірки послуг. Сертифікат Let's Encrypt на 89 днів, виданий 3 липня 2026 року, спливає 1 жовтня. На 7 серпня лишалось 54 дні, на 17 вересня — 13, на 22 вересня — 8.

Типовий клієнт ACME, тобто certbot і більшість хостингових панелей, запускає продовження, коли до кінця лишається 30 днів. Для цього сертифіката це приблизно 1 вересня. Через три тижні після цієї дати на сервері досі старий сертифікат.

Сертифікат не продовжився, хоча мав би за типових налаштувань. Схоже на зламане автопродовження, проте напевно ми цього не знаємо: власник може продовжувати вручну або мати нестандартний графік. Якщо до 1 жовтня нічого не зміниться, відвідувачі побачать попередження браузера замість сайту.

Два інші сайти з залишком менше 30 днів виглядають нормально. Один має платний сертифікат Sectigo на 198 днів, якому лишалось 22 дні: такі продовжують руками, і запас ще є. В іншого Let's Encrypt із 29 днями, що рівно на порозі типового продовження.

Чому «купив на рік і забув» закінчується

У 2025 році CA/Browser Forum, організація, де браузери й центри сертифікації домовляються про правила, ухвалив рішення SC-081. Максимальний строк публічного TLS-сертифіката скорочується поетапно: 200 днів для виданих з 15 березня 2026 року, 100 днів — з 15 березня 2027-го, 47 днів — з 15 березня 2029-го.

У нашій вибірці перший крок уже помітний. Усі три сертифікати строком 364–370 днів видані до 15 березня 2026 року: 26 листопада та 15 грудня 2025-го і 8 лютого 2026-го. Усі платні сертифікати, видані після цієї дати, мають строк 181 або 198 днів.

Отже, річний сертифікат зникає і для тих, хто платить. Ручне продовження доведеться робити раз на пів року, а з 2029-го приблизно раз на шість тижнів. На такому ритмі людина рано чи пізно пропускає дату, тому автоматичне продовження стає обов'язковою частиною обслуговування сервера. Налаштування certbot чи панелі та перевірку, що воно спрацьовує, ми робимо в межах адміністрування сервера.

Як перевірити свій сайт

Для першого кроку вистачить терміналу з OpenSSL (є в Linux і macOS, у Windows — у Git Bash або WSL). Підставте свою адресу:

echo | openssl s_client -connect ваш-сайт.com.ua:443 -servername ваш-сайт.com.ua 2>/dev/null | openssl x509 -noout -dates -issuer

Команда покаже дату видачі (notBefore), дату закінчення (notAfter) і видавця. Різниця між двома датами підкаже, який у вас сертифікат: близько 90 днів найчастіше означає безкоштовний, розрахований на автопродовження.

Далі кілька висновків із того, що ви побачили.

Якщо сертифікат 90-денний, а до кінця менше приблизно 20 днів, автопродовження, найімовірніше, не працює. Шукайте причину в панелі хостингу або в журналах certbot, поки сертифікат ще чинний.

Стежте за фактом продовження, а не за датою. Дата змінюється сама, і нагадування «сертифікат спливає 1 жовтня» застаріває, щойно продовження спрацювало. Корисніше сповіщення, яке приходить, коли залишок падає нижче порогу, де продовження вже мало статися: для 90-денного сертифіката це, наприклад, 20 днів. Такий поріг можна додати до моніторингу доступності, і тоді про збій ви дізнаєтесь задовго до попередження в браузері, а не від клієнта.

Перевірте повний ланцюжок. Та сама команда з ключем -showcerts виведе всі сертифікати, які віддає сервер. Якщо там лише один, без проміжного, частина клієнтів побачить помилку, навіть коли ваш браузер показує замочок. Підійдуть і онлайн-сервіси перевірки ланцюжка.

Не зупиняйтесь на корені. Адреса з www і піддомени можуть мати окремі сертифікати й окреме продовження. Ми міряли лише корінь, а ви перевіряйте все, куди можуть потрапити відвідувачі. Заразом варто подивитися, що відповідає кожна з адрес: коди відповіді й переадресації можна перевірити нашим інструментом.

Чого цей вимір не показує

Вибірка — це 116 сайтів, які ми вже міряли з інших причин. Вона не репрезентує весь український веб, і з неї не можна вивести частку сайтів із простроченими сертифікатами в Україні.

Обидва заміри фіксують стан на конкретну дату. Ми бачимо, що сертифікат змінився, але не бачимо, як саме: автоматично, руками чи після чийогось нагадування. Слово «автопродовження» в цій статті означає тип сертифіката й типовий спосіб його обслуговування, а не перевірений факт на кожному сервері.

Ми міряли лише строк і видавця. Тому з цих даних не випливає, що платний сертифікат нічого не дає: інші його властивості вимір не зачіпав.

І перевіряли лише корінь, тож стан www та піддоменів цих сайтів лишається невідомим.

Чи встигне продовжитися сертифікат сайту спортивного клубу до 1 жовтня, покаже лише повторна перевірка. А свій сертифікат можна перевірити просто зараз, однією командою вище.

Теги

Performance

Вам сподобалась стаття?

Ваша думка допомагає нам створювати кращий контент

Поділіться з друзями

Знайшли щось корисне?

Допоможіть іншим дізнатись про це — поділіться статтею в соціальних мережах

Дякуємо, що допомагаєте нам рости

Засновник LIONEX

Владислав Чистяков

Пише про те, що робить руками: інтернет-магазини на OpenCart, застосунки на Next.js, інтеграції та швидкість сайтів. У статтях — заміри й перевірки, які читач може повторити на своєму проєкті, а не загальні поради. Комерційна розробка з 2015 року.

Питання

Часті запитання

Відповіді на популярні питання по темі

Як перевірити, коли закінчується SSL-сертифікат сайту?

Найпростіше — командою в терміналі: echo | openssl s_client -connect ваш-сайт.com.ua:443 -servername ваш-сайт.com.ua 2>/dev/null | openssl x509 -noout -dates -issuer. Вона покаже дату видачі (notBefore), дату закінчення (notAfter) і видавця. Різниця між датами підкаже тип сертифіката: близько 90 днів найчастіше означає безкоштовний, розрахований на автоматичне продовження. Перевірте окремо й адресу з www та піддомени — вони можуть мати власні сертифікати.

Чи потрібен платний SSL-сертифікат?

Серед сайтів, які ми міряли, платні — рідкість. На 116 сайтах, які ми перевірили 22 вересня 2026 року, 108 стояли на 89- і 90-денних сертифікатах, розрахованих на автопродовження, переважно Let's Encrypt і Google Trust Services. Ми міряли лише строк і видавця, тому не стверджуємо, що платний сертифікат нічого не дає. Але аргумент «купив на рік і забув» зникає: за рішенням CA/Browser Forum SC-081 сертифікати, видані з 15 березня 2026 року, діють не довше 200 днів, і в нашій вибірці всі платні, видані після цієї дати, мають 181 або 198 днів.

Що робити, якщо сертифікат Let's Encrypt не продовжився автоматично?

Типовий клієнт ACME, тобто certbot і більшість хостингових панелей, запускає продовження, коли до кінця лишається 30 днів. Якщо у 90-денного сертифіката лишилось менше приблизно 20 днів, автопродовження, найімовірніше, не працює: шукайте причину в панелі хостингу або в журналах certbot, поки сертифікат ще чинний. У нашій вибірці такий випадок був один: сертифікат сайту спортивного клубу 22 вересня мав 8 днів, хоча за типових налаштувань мав продовжитися близько 1 вересня.

Як налаштувати сповіщення про закінчення сертифіката?

Стежте не за датою, а за тим, що продовження сталося. Дата змінюється сама, і нагадування про неї застаріває після першого ж продовження. Корисніше сповіщення, яке спрацьовує, коли залишок падає нижче порогу, де продовження вже мало відбутися: для 90-денного сертифіката це, наприклад, 20 днів. Такий поріг додається до моніторингу доступності сайту.

Чому браузер показує замочок, а сервіси бачать помилку сертифіката?

Найчастіше через неповний ланцюжок: сервер не віддає проміжний сертифікат, а браузер іноді докачує його сам. Скрипти, боти й частина сервісів цього не роблять і бачать помилку на кшталт unable to get local issuer certificate. У нашому серпневому замірі так виглядала перевірка сайту автосервісу; у вересні той самий хост уже проходив її з новим сертифікатом. Повний ланцюжок покаже openssl s_client з ключем -showcerts.

Отримуйте найкращі статті на пошту

Підпишіться на нашу розсилку та отримуйте корисні поради, інсайти та новини про веб-розробку, маркетинг та бізнес.

Ми поважаємо вашу приватність. Відписатись можна в будь-який момент.

Далі в блозі

Схожі статті

154 помилки типів, які викидала збірка: що в них знайшлосьВеб-розробка

154 помилки типів, які викидала збірка: що в них знайшлось

21 вересня 2026 року перевірка типів на нашому сайті показала 154 помилки, хоча збірка щоразу була зеленою: результат перевірки просто викидався. Усередині знайшлись нулі в статистиці посилань і в експорті аналітики, сортування, що не сортувало, і тести, які не запускались. Розповідаємо, як розбирали, що змінили і як перевірити свій проєкт.

Читати далі
Healthcheck дав 60 % запитів застосунку: що побачили в першу добу метрикВеб-розробка

Healthcheck дав 60 % запитів застосунку: що побачили в першу добу метрик

21 вересня 2026 року, у першу добу обліку запитів за маршрутами, службовий /api/health отримав 13 666 запитів — 60 % трафіку застосунку, і кожен ішов у спільну базу. Розповідаємо, які два налаштування це прибрали, яку ціну маємо за них і як перевірити свій healthcheck.

Читати далі
Чотири тривоги, яких не було: моніторинг, що жив лише в документаціїВеб-розробка

Чотири тривоги, яких не було: моніторинг, що жив лише в документації

5 вересня 2026 року ми відкрили Grafana, щоб перевірити чотири правила тривог, які наша документація обіцяла з 17 січня. Правил там було нуль, метрики під ними — порожні, канал доставки — заглушка. Розповідаємо, що поставили замість, і як за пів години перевірити свій моніторинг.

Читати далі