Краткий ответ: Предупреждения браузера о сертификате бывают трёх видов: expired (продлите его), name mismatch (сертификат не покрывает именно этот домен/поддомен) и неполная цепочка (нет промежуточного сертификата — десктопные браузеры могут работать, а телефоны и curl падают). openssl s_client за секунды покажет, какой у вас случай.
Обзор
Ошибка SSL редко означает, что что-то «взломали» — это почти всегда жизненный цикл сертификата: провалилось продление, отдаётся не тот сертификат или цепочка отдаётся неполной. Определите точный сбой, прежде чем трогать конфиги.
Что нужно иметь
- Точный домен (с/без www — важно) и доступ по SSH к серверу.
Пошаговая инструкция
- Проверьте, что сервер реально отдаёт:
Посмотритеecho | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates -subject -ext subjectAltNamenotAfter(срок) и что список SAN содержит именно тот хостнейм, который используют посетители. - Просрочен? Продлите и перезагрузите:
Если продление падает — выполнитеsudo certbot renew sudo systemctl reload nginxsudo certbot renew --dry-runи прочитайте ошибку: обычно закрытый порт 80 или изменённый DNS. См. продление Let's Encrypt. - Name mismatch? Выпустите сертификат, покрывающий все нужные имена (apex + www или отсутствующий поддомен) — см. установку бесплатного SSL.
- Проблемы с цепочкой? Отдавайте полный файл цепочки (
fullchain.pem, а неcert.pem) в конфиге веб-сервера. - После любого фикса снова проверьте снаружи (шаг 1) — браузеры агрессивно кэшируют ошибки сертификатов; тестируйте в приватном окне.
Типичные проблемы
- Автопродление тихо сломано месяцами: таймер работает, а валидация падает — dry-run это выявляет.
- Разные сертификаты на IP и домене: SNI — всегда тестируйте с
-servername. - Работает на десктопе, падает на мобильном: классический признак неполной цепочки.
- Предупреждения mixed content после фикса SSL: это другая проблема — http:// ресурсы на https-странице.
Когда обращаться в поддержку
Сертификаты на unmanaged-сервере — на стороне клиента, но если порт 443 выглядит заблокированным снаружи, тогда как сервис слушает, или ваша панель со своей SSL-автоматикой ведёт себя странно, — откройте тикет с выводом openssl.
Частые вопросы
Почему сайт работает на десктопе, а на телефонах показывает ошибку SSL?
Это классическая неполная цепочка: десктопы часто кэшируют промежуточные сертификаты, а телефоны и curl — нет. Отдавайте fullchain.pem вместо одного сертификата и перезагрузите веб-сервер.
Сертификат просрочился, хотя продление автоматическое — как так?
Таймер продления может работать, а валидация тихо проваливаться — например, закрыт порт 80 или изменился DNS. Выполните certbot renew --dry-run, чтобы увидеть реальную ошибку, и исправьте её.
Похожие статьи
- Как продлить SSL-сертификат Let's Encrypt
- Как установить бесплатный SSL-сертификат
- Сайт не работает: первые шаги
- Как собрать логи для поддержки
Нужна помощь? Связаться с поддержкой Cloud2Y →
