Худший способ узнать о проблеме с сертификатами — звонок клиента «у вас оплата не работает», за которым обнаруживается, что она не работает уже третий день. Вот план, который сокращает простой с дней до часов.
Паника заставляет чинить всё подряд; инженерный подход начинается с вопроса «что именно сломалось». Откройте сайт в браузере в режиме инкогнито. Вариант А: браузер ругается «соединение не защищено» — истёк сертификат самого сайта, клиенты вообще не могут на него зайти. Вариант Б: сайт открывается, товары в корзину кладутся, но на шаге оплаты — ошибка или вечная загрузка. Это значит, что рвётся соединение между вашим сервером и банком: истёк корневой сертификат в хранилище сервера, банк сменил свой сертификат, или устарел бандл доверия. Эти два сценария чинятся по-разному, и определить свой — половина решения.
Самый частый подслучай — сертификат от Let's Encrypt, у которого не сработало автопродление: бот сломался при обновлении сервера, домен переехал, панель хостинга сменила настройки. Лечение: зайти на сервер или в панель хостинга и перевыпустить/продлить сертификат вручную, затем проверить, почему молчало автопродление, — иначе через 90 дней всё повторится. Если доступов к серверу нет под рукой (классика: «делал подрядчик, доступы у него») — это отдельный урок про то, где должны храниться доступы.
Что именно и куда ставить — пошагово в статьях про установку сертификата Минцифры и про выбор между HARICA и Минцифры.
Не отключайте проверку сертификатов в коде «чтобы заработало» — это открытая дверь для перехвата платёжных данных, и некоторые банки такие соединения режут сами. Не перезапускайте сервер «на удачу» десять раз — сертификаты от этого не появятся. И не соглашайтесь на «переустановим сайт целиком» от первого попавшегося фрилансера: проблема решается точечно за час, а не пересборкой за неделю.
Магазин с оборотом 300 тысяч в день, три дня незамеченной поломки оплаты — почти миллион недополученной выручки плюс клиенты, ушедшие к конкурентам навсегда. Профилактика стоит несопоставимо меньше: разовая настройка всех корневых сертификатов — 40 000 ₽ за 1–2 дня, а в рамках техподдержки от 15 000 ₽/мес мы ещё и мониторим сроки сертификатов с оповещением до, а не после падения платежей.
Напишите в WhatsApp со словом «платежи» — реагируем быстро, диагностику начинаем в день обращения. Обычно к вечеру оплата уже работает.
Мониторинг: скрипт или сервис ежедневно проверяет срок сертификата сайта и валидность соединений с критичными API, за 14 и 7 дней шлёт предупреждение в Telegram. Настраивается за час, закрывает проблему навсегда. Всем клиентам на техподдержке мы включаем такой мониторинг в первый день.
Потому что это разные проверки: браузер проверяет ВАШ сертификат, а платёжный модуль — сертификат БАНКА, и доверие к нему определяется корнями в хранилище сервера. Сайт может светиться зелёным замком, пока сервер не доверяет банковскому УЦ. Диагноз ставится командой curl к API банка с сервера — по тексту ошибки сразу видно, чего не хватает.
У нас это штатная услуга установки TLS-сертификатов: 40 000 ₽, обычно управляемся быстрее заявленных 1–2 дней — диагностика в день обращения, типовые случаи чинятся за несколько часов. Дороже всего обходится не работа, а каждый день простоя, поэтому пишите сразу, как только заметили проблему.