Skip to content
EN
← Все статьи

Почему не работает HTTPS: причины и как исправить

Коротко. HTTPS ломается по двум разным классам причин, и лечатся они по-разному. Если сайт не открывается только у вас — почти всегда виноваты часы устройства, антивирус с перехватом TLS, корпоративный прокси или кэш браузера. Если не открывается у всех — проблема на сервере: истёкший сертификат, неполная цепочка, чужое имя, закрытый порт 443 или петля редиректов. Начните с этой развилки.

Эта статья — маршрутизатор. Она не разбирает каждую ошибку до последнего флага конфига: под частые случаи у нас есть отдельные разборы, и в нужный момент вы получите ссылку. Задача здесь другая — за несколько минут понять, где сломано, и не потратить вечер на настройку сервера, когда на ноутбуке просто сбились часы.

С чего начать: сломано у всех или только у вас

Это единственный вопрос, на который нужно ответить до того, как вы откроете конфиг веб-сервера. Он делит все дальнейшие действия на две непересекающиеся ветки. Ошибка в этом месте стоит дороже всего: люди перевыпускают нормальный сертификат, потому что у них на рабочей машине стоял корпоративный шлюз с перехватом трафика.

Четыре способа получить ответ, от самого быстрого к самому надёжному:

  • Мобильный интернет. Выключите Wi-Fi на телефоне и откройте сайт с сотовых данных. Это другой канал, другой DNS-резолвер, другое устройство и другое хранилище корневых сертификатов. Если там открывается — проблема в вашей сети или на вашем компьютере.
  • Приватное окно другого браузера. Снимает влияние кэша, части расширений и сохранённых записей HSTS. Не снимает влияние антивируса и системных часов.
  • Другое устройство в другой сети. Самая честная локальная проверка: меняются сразу все переменные, кроме самого сайта.
  • Внешняя проверка. Откройте проверку SSL-сертификата и посмотрите на сайт глазами постороннего сервера. Инструмент видит ровно то, что отдаёт ваш сервер, без вашего антивируса, прокси и часов.
Что наблюдаетеСкорее всегоКуда смотреть
Внешняя проверка показывает валидный сертификат, у вас — ошибкаЛокальная причинаЧасы, антивирус, прокси, кэш
Внешняя проверка тоже ругаетсяПричина на сервереСертификат, цепочка, имя, порт
Не открывается на всех устройствах в одной сети, но открывается с мобильногоСеть или шлюзПрокси, DPI, DNS, фильтрация
Не открывается только в одном браузереСостояние браузераКэш, расширения, запись HSTS
Ошибка «плавает»: то открывается, то нетБалансировкаРазные бэкенды с разным сертификатом
Последняя строка таблицы — недооценённый случай. Если за одним доменом стоит несколько серверов, а сертификат обновили не на всех, сайт будет ломаться «через раз», и внешняя разовая проверка легко покажет зелёный результат. Прогоните проверку несколько раз подряд.
Схема развилки: проверка сайта с мобильного интернета, из другого браузера и с внешнего сервера ведёт к двум веткам диагностики HTTPS
Развилка «у всех или только у меня» определяет всю дальнейшую диагностику.

Что говорит браузер: расшифровка кодов ошибок

Браузер почти всегда называет причину — просто не человеческим языком. Код ошибки виден на странице предупреждения (в Chrome его нужно раскрыть по кнопке «Дополнительно», в Firefox он в блоке с подробностями). Ниже — коды, которые встречаются чаще всего, и куда идти дальше по каждому.

КодЧто произошло на самом делеУ всех или у васКуда дальше
NET::ERR_CERT_DATE_INVALIDТекущее время не попадает в интервал действия сертификата. Либо сертификат истёк, либо врут часы клиентаОба вариантаИстёкший сертификат
NET::ERR_CERT_AUTHORITY_INVALIDЦепочку не удалось достроить до доверенного корня: не отданы промежуточные, самоподписанный сертификат или подмена на путиОба вариантаРазбор ошибки, неполная цепочка
NET::ERR_CERT_COMMON_NAME_INVALIDИмя, которое вы набрали, не входит в список имён сертификата (SAN)У всехРаздел про имя ниже
NET::ERR_CERT_REVOKEDУдостоверяющий центр отозвал сертификат до окончания срокаУ всехПеревыпуск, разбор причины отзыва
ERR_SSL_VERSION_OR_CIPHER_MISMATCHУ клиента и сервера нет ни одной общей версии TLS или общего набора шифровУ всех либо у старых клиентовНесовпадение версии или шифра
ERR_SSL_PROTOCOL_ERRORРукопожатие оборвалось: сервер ответил не по TLS, оборвал соединение или вернул мусорУ всехРазбор ошибки, сбой рукопожатия
ERR_CONNECTION_REFUSED / ERR_CONNECTION_TIMED_OUTДо 443-го порта дело не дошло: никто не слушает или пакеты режет фильтрЗависит от места фильтраПроверка открытых портов
ERR_TOO_MANY_REDIRECTSПетля перенаправлений, чаще всего HTTP ↔ HTTPSУ всехСлишком много редиректов
SEC_ERROR_EXPIRED_CERTIFICATE (Firefox)То же, что ERR_CERT_DATE_INVALIDОба вариантаИстёкший сертификат
SEC_ERROR_UNKNOWN_ISSUER (Firefox)Издатель неизвестен: чаще всего не отданы промежуточные сертификатыОба вариантаНеполная цепочка
MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT (Firefox)Сертификат подписан сам собой, доверенного издателя нетУ всехСамоподписанный сертификат
MOZILLA_PKIX_ERROR_MITM_DETECTED (Firefox)Firefox распознал перехват трафика антивирусом или шлюзомТолько у васРаздел про антивирус и прокси
SSL_ERROR_NO_CYPHER_OVERLAP (Firefox)Firefox-аналог несовпадения шифровУ всех либо у старых клиентовНесовпадение версии или шифра

Safari кодов не показывает — там будет только «Это соединение не является частным». В этом случае откройте тот же адрес в Chrome или Firefox: код нужен, чтобы не гадать. Общий каталог сообщений по SSL собран в разделе ошибок SSL.

MOZILLA_PKIX_ERROR_MITM_DETECTED — самое полезное сообщение из всех. Firefox не просто говорит «не доверяю»: он прямо утверждает, что соединение кто-то расшифровывает по пути. Ни один конфиг веб-сервера этого не чинит — искать нужно на клиенте.

Не работает только у вас: время, антивирус, прокси

Сбитые часы устройства

Самая частая и самая неочевидная причина. Механика простая, но её редко проговаривают: сертификат содержит два поля — notBefore и notAfter. При проверке клиент берёт своё системное время и смотрит, попадает ли оно в этот интервал. Никакого обращения к эталонному времени нет — сравнение идёт с часами вашего устройства.

Отсюда два симметричных сбоя. Часы отстали на месяцы назад — свежий сертификат «ещё не начал действовать». Часы убежали вперёд — сертификат «уже истёк». Оба случая браузер покажет одинаково: ошибкой про дату. Сертификаты Let's Encrypt по умолчанию живут около трёх месяцев (документация Let's Encrypt), поэтому окно действия узкое, и сбой времени ловится почти мгновенно.

Классические источники сбоя: разряженная батарейка CMOS на старом системном блоке (после каждого выключения дата уезжает в далёкое прошлое), виртуальная машина после долгой паузы, устройство без синхронизации времени в изолированной сети, ручная правка даты ради обхода лицензии.

# Linux: что считает система и синхронизировано ли время
date -u
timedatectl status

# Windows (командная строка от администратора)
w32tm /query /status

# macOS: текущее время в UTC
date -u

На Linux в выводе timedatectl status нужны строки про системные часы и про синхронизацию — если синхронизация выключена, включите её и перепроверьте сайт. На macOS автоматическая установка времени включается в системных настройках, в разделе даты и времени. На Windows после включения синхронизации имеет смысл принудительно обновить время и заново открыть браузер.

Проверка срока действия локальными средствами наследует ту же ошибку. Команда openssl x509 -checkend сравнивает даты сертификата с часами той машины, на которой запущена. Если часы врут, она соврёт вместе с ними. Именно поэтому первую проверку стоит делать внешним сервисом, а не своей консолью.

Антивирус и корпоративный прокси с перехватом TLS

Многие антивирусы и почти все корпоративные шлюзы безопасности умеют «заглядывать» в HTTPS. Делают они это единственным возможным способом: терминируют соединение у себя, а вам отдают свой сертификат, выписанный их собственным локальным центром сертификации. Работает это ровно до тех пор, пока их корневой сертификат лежит в вашем хранилище доверия и пока браузер этим хранилищем пользуется.

Сломаться может в трёх местах. Корень не установился после переустановки системы. Браузер ведёт собственное хранилище и не смотрит в системное. Сайт применяет закрепление ключей, и подмена намеренно не проходит. Результат — ошибка про недоверенного издателя, хотя с сертификатом сайта всё в порядке.

Проверяется за один шаг: посмотрите, кто выдал сертификат. Если в поле издателя стоит публичный удостоверяющий центр — перехвата нет. Если там имя вашего антивируса, названия шлюза или что-то вроде «local root» — вы видите не сертификат сайта.

# Кто выдал сертификат, который реально доходит до этой машины
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
  | openssl x509 -noout -subject -issuer

# Пример нормального вывода для публичного сайта:
# subject=CN=example.com
# issuer=C=US, O=SSL Corporation, CN=Cloudflare TLS Issuing ECC CA 3

Сравните этот вывод с тем, что показывает внешняя проверка сертификата. Разные издатели у одного домена — прямое доказательство перехвата на вашей стороне. Дальше решение административное: добавить корень шлюза в доверенные, вывести домен из-под перехвата или временно отключить проверку HTTPS в антивирусе, чтобы подтвердить диагноз.

Кэш браузера, запись HSTS и устаревшее хранилище корней

Браузер помнит про сайт больше, чем кажется. Он кэширует не только страницы, но и решение «этот домен ходит только по HTTPS» — запись HSTS. Если вы чинили сайт, а браузер продолжает вести себя по-старому, состояние надо сбросить. В Chrome есть служебная страница chrome://net-internals/#hsts, где домен можно удалить из списка политик безопасности. Полная очистка кэша и куки за всё время решает большинство остальных случаев.

Отдельная категория — устройства, которые давно не получают обновлений. Хранилище корневых сертификатов пополняется вместе с системой; когда обновления прекращаются, устройство рано или поздно перестаёт узнавать издателей, выпущенных после последнего апдейта. Симптом характерный: свежие устройства открывают сайт нормально, а старый телефон или давно не обновлявшийся компьютер выдаёт ошибку про недоверенного издателя на половине интернета сразу. Чинится это только обновлением системы.

Схема перехвата TLS: антивирус или корпоративный шлюз подменяет сертификат сайта своим, выпущенным локальным центром сертификации
При перехвате TLS до браузера доходит не сертификат сайта, а сертификат посредника.

Не работает у всех: проблема в сертификате

Сертификат истёк

Самая простая причина и самая обидная: автопродление сломалось, письмо об истечении ушло в спам, и в ближайшую ночь сайт перестал открываться у всех сразу. Проверяется одной командой; поле notAfter — это и есть дата смерти.

Неполная цепочка

Случай, который выглядит мистикой: «в моём Chrome открывается, а на телефоне и в curl — нет». Механика такая. Сервер обязан отдать не только сертификат сайта, но и промежуточные сертификаты, которые связывают его с корнем. Если их не отдать, клиенту придётся достраивать цепочку самостоятельно. Часть клиентов это умеет — они дозагружают недостающее звено по ссылке из сертификата, а потом ещё и кэшируют его. Другие клиенты не умеют вовсе.

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

# Сколько сертификатов сервер реально отдаёт
echo | openssl s_client -connect example.com:443 -servername example.com -showcerts 2>/dev/null \
  | grep -c "BEGIN CERTIFICATE"

# 1  — цепочка неполная, отданы только сертификат сайта
# 2+ — отданы промежуточные, это нормальная ситуация

Единица в ответе — почти всегда диагноз. Лечится сборкой полного файла цепочки на стороне веб-сервера; в nginx за это отвечает файл, указанный в директиве сертификата, куда промежуточные дописываются после сертификата сайта (документация nginx). Подробный разбор — в статье про неполную цепочку сертификатов.

Имя в сертификате не совпадает с доменом

Сертификат действует не «для сервера», а для конкретного списка имён. Список лежит в расширении SAN. Современные браузеры проверяют только его и игнорируют устаревшее поле CN, поэтому сертификат, выписанный на example.com, не подойдёт для www.example.com, если второго имени в списке нет. Правила сопоставления имени описаны в RFC 6125.

Здесь же прячется ловушка, на которой спотыкаются даже опытные админы: команда openssl s_client по умолчанию имя не проверяет вообще. Она подтвердит доверие к цепочке и вернёт нулевой код, а браузер на том же адресе покажет ошибку имени. Чтобы проверка совпала с браузерной, нужен явный флаг.

# Список имён, на которые действует сертификат
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
  | openssl x509 -noout -ext subjectAltName

# Проверка имени так, как её делает браузер
echo | openssl s_client -connect example.com:443 -servername example.com \
  -verify_hostname example.com 2>&1 | grep "Verify return code"

# При несовпадении имени вывод будет таким:
# Verify return code: 62 (hostname mismatch)

На адресе отдаётся сертификат чужого сайта

Когда на одном IP-адресе живёт несколько сайтов, сервер понимает, чей сертификат отдавать, из имени, которое клиент присылает в начале рукопожатия — это механизм SNI (RFC 6066). Если для вашего домена не описан отдельный виртуальный хост или в нём не указан сертификат, сервер отдаст сертификат сайта по умолчанию — то есть чужой. Браузер честно сообщит про несовпадение имени, хотя сертификат для вашего домена на сервере лежит и он валиден.

# Что отдаётся, если имя не сообщать (сайт по умолчанию)
echo | openssl s_client -connect 203.0.113.10:443 2>/dev/null \
  | openssl x509 -noout -subject

# Что отдаётся, если сообщить имя явно
echo | openssl s_client -connect 203.0.113.10:443 -servername shop.example.com 2>/dev/null \
  | openssl x509 -noout -subject

Разные значения в двух командах — нормально и означает, что SNI работает. Одинаковые, причём чужое имя в обеих — виртуальный хост для вашего домена не подхватился. Адрес 203.0.113.10 в примере взят из диапазона, зарезервированного для документации (RFC 5737) — подставьте свой.

Схема выбора сертификата по SNI: клиент передаёт имя домена, сервер отдаёт соответствующий сертификат или сертификат сайта по умолчанию
Без SNI или без виртуального хоста сервер отдаёт сертификат сайта по умолчанию.

Не работает у всех: сертификат в порядке, а сайт не открывается

Порт 443 закрыт или слушает не тот процесс

До проверки сертификата дело доходит не всегда. Если 443-й порт не отвечает, браузер покажет отказ в соединении или таймаут — про сертификаты речи вообще не будет. Типичные причины: веб-сервер слушает только 80-й, правило межсетевого экрана не открыто, у провайдера или хостинга закрыт порт, сервис упал после перезагрузки.

# Отвечает ли порт снаружи
nc -z -w 5 example.com 443 && echo "443 open" || echo "443 closed"

# Что слушает 443 на самом сервере (Linux)
ss -ltnp | grep ':443'

# Диагностика подключения целиком
curl -sS --connect-timeout 5 -o /dev/null -w '%{http_code}\n' https://example.com

Если curl отвечает ошибкой седьмого класса (не удалось подключиться), значит проблема сетевая, а не сертификатная. Быстро проверить порт снаружи можно сканером портов, не заходя на сервер.

Петля редиректов HTTP ↔ HTTPS

Схема, которая ломает сайты после подключения балансировщика или CDN. Внешний узел принимает HTTPS и идёт к вашему серверу по обычному HTTP. Сервер видит незашифрованный запрос и честно перенаправляет его на HTTPS. Внешний узел снова принимает HTTPS и снова идёт по HTTP. Браузер отдаёт ERR_TOO_MANY_REDIRECTS, хотя сертификат идеален.

Ключ к решению — заголовок, которым внешний узел сообщает исходную схему запроса. Правило перенаправления должно смотреть на него, а не на локальную схему соединения. Тот же класс ошибок даёт правило «всегда на www» вместе с правилом «всегда без www» в другом месте конфига.

# Полная цепочка перенаправлений и итоговый адрес
curl -sSIL -o /dev/null \
  -w 'redirects=%{num_redirects} final=%{url_effective} code=%{http_code}\n' \
  http://example.com

# Пошагово, с кодами и заголовками Location
curl -sSIL http://example.com | grep -iE '^HTTP/|^location:'

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

Смешанный контент

Отдельный случай «HTTPS не работает» — когда он формально работает. Страница открывается по HTTPS, а картинки, скрипты и стили на ней прописаны с адресами по HTTP. Браузер блокирует активные ресурсы, замок пропадает или превращается в предупреждение, вёрстка разъезжается, кнопки перестают отвечать. Пользователь описывает это ровно словами «после перехода на HTTPS сайт не работает».

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

HSTS после отката на HTTP

Механизм HSTS (RFC 6797) устроен так: сервер один раз присылает заголовок с длительностью, и браузер на весь этот срок запоминает, что к домену можно обращаться только по HTTPS. Причём запоминает жёстко — он не просто перенаправляет, он отказывается открывать HTTP и не показывает кнопку «всё равно перейти».

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

# Присылает ли сервер заголовок HSTS и на какой срок
curl -sSI https://example.com | grep -i 'strict-transport-security'

# Пример реального ответа:
# strict-transport-security: max-age=31536000
Единственный настоящий выход из этой ситуации — вернуть работающий HTTPS. Убрать заголовок со стороны сервера недостаточно: браузеры, которые его уже получили, продолжат действовать по старой записи весь оставшийся срок. Если домен успел попасть в предзагруженный список, удаление занимает месяцы. Подробности — в разборе HSTS и preload-списка.

Как проверить: команды, которые дают ответ за минуту

Ниже — прогон, который закрывает почти все описанные выше случаи. Выполняйте по порядку и останавливайтесь на первом шаге, который дал неожиданный результат. Подставьте свой домен вместо example.com.

# 1. Отвечает ли порт 443
nc -z -w 5 example.com 443 && echo "443 open" || echo "443 closed"

# 2. Кому выдан сертификат, кем, до какого числа и на какие имена
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates -ext subjectAltName

# 3. Доверяет ли цепочке система и совпадает ли имя
echo | openssl s_client -connect example.com:443 -servername example.com \
  -verify_hostname example.com 2>&1 | grep "Verify return code"

# 4. Полная ли цепочка (1 = неполная)
echo | openssl s_client -connect example.com:443 -servername example.com -showcerts 2>/dev/null \
  | grep -c "BEGIN CERTIFICATE"

# 5. Куда ведут перенаправления
curl -sSIL -o /dev/null \
  -w 'redirects=%{num_redirects} final=%{url_effective} code=%{http_code}\n' \
  http://example.com

Третий шаг — самый информативный. Итоговый код проверки прямо называет причину:

Verify return codeЧто означаетЧто чинить
0 (ok)Цепочка доверенная, имя совпалоПроблема не в сертификате
10 (certificate has expired)Срок действия закончился — или врут часы машины, где запущена командаПеревыпуск, автопродление, часы
18 (self-signed certificate)Сертификат подписан сам собойВыпустить сертификат в публичном центре
19 (self-signed certificate in certificate chain)Корень цепочки не доверенный: свой центр сертификации или перехватПроверить издателя, искать перехват
21 (unable to verify the first certificate)Не отданы промежуточные сертификатыСобрать полную цепочку
62 (hostname mismatch)Домен не входит в список имён сертификатаДобавить имя, проверить виртуальный хост
Не используйте флаг, отключающий проверку сертификата, чтобы «убедиться, что сайт жив». С ним запрос пройдёт всегда, и вы получите ложное подтверждение работоспособности. Такой флаг годится ровно для одного: доказать, что проблема именно в проверке сертификата, а не в самом сервисе.

Как проверить онлайн, без консоли

Внешняя проверка ценна не удобством, а точкой обзора: она смотрит на сайт с постороннего сервера, где нет ваших часов, антивируса, прокси и кэша. Именно поэтому её стоит делать первой — она сразу закрывает половину развилки.

Схема диагностики HTTPS: внешняя проверка сертификата, редиректов, смешанного контента и порта 443 сводится в общий результат
Внешняя проверка смотрит на сайт без вашего антивируса, прокси и системных часов.

Частые вопросы

Почему HTTPS не работает только на одном компьютере?

Потому что проверка сертификата целиком происходит на клиенте. Три главных подозреваемых по порядку: системные часы, антивирус или шлюз с перехватом TLS, сохранённое состояние браузера. Проверьте дату, посмотрите издателя сертификата и сравните его с внешней проверкой. Если издатели разные — трафик расшифровывают на вашей стороне.

Почему сразу все сайты перестали открываться по HTTPS?

Одновременный отказ на всех доменах — это никогда не проблема сайтов. Так выглядят сбитые часы, отвалившийся корневой сертификат перехватывающего шлюза или устройство, которое давно не обновлялось и не знает новых издателей. Начните с даты и времени, затем проверьте, не появился ли в поле издателя посторонний центр сертификации.

Я искал, как сделать ссылку HTTPS, — это про то же самое?

Нет, это другая задача. Вопросы «как сделать ссылку, фото или видео по HTTPS» — про то, как вставить материал в статью или сообщение так, чтобы адрес начинался с https://. Поломка HTTPS на сайте с этим не связана. Если ваш вопрос о том, как устроен сам протокол, начните с разбора, что такое HTTPS. Если же вставленный по HTTP материал ломает вёрстку на HTTPS-странице — это смешанный контент, ему посвящён отдельный разбор.

Можно ли просто нажать «Перейти на сайт (небезопасно)»?

Для чужого сайта — нет. Кнопка снимает единственную защиту от того, что между вами и сервером кто-то сидит и читает трафик, включая пароли и куки. Для своего сайта на этапе отладки это допустимо как разовая проверка гипотезы. Учтите, что при действующей политике HSTS кнопки не будет вовсе — браузер откажется открывать домен.

Сайт открывается по HTTP, но не по HTTPS. Почему?

Значит, сервис жив, а именно HTTPS-часть не настроена или сломана. Проверьте три вещи по порядку: слушает ли сервер 443-й порт, подхватился ли виртуальный хост с сертификатом для этого домена, не отдаётся ли на этом адресе сертификат другого сайта. Команды для всех трёх проверок — в разделе выше.

Поможет ли переустановка браузера?

Обычно нет, и время потратите зря. Системные часы, хранилище корневых сертификатов и настройки антивируса переустановка не трогает — а это три причины из четырёх. Осмысленно только очистить кэш и удалить запись HSTS для конкретного домена; всё остальное лечится за пределами браузера.

Чеклист

  • Ответьте на главный вопрос: не открывается у всех или только у вас. Мобильный интернет и внешняя проверка дают ответ за минуту.
  • Раскройте подробности ошибки и запишите код — по нему видно причину.
  • Если проблема локальная: проверьте дату и время, затем издателя сертификата, затем очистите кэш и запись HSTS.
  • Если проблема серверная: проверьте срок действия, полноту цепочки и список имён в SAN.
  • Убедитесь, что сервер отдаёт больше одного сертификата — единица означает неполную цепочку.
  • Проверяйте имя явным флагом: без него openssl s_client вернёт «ok» там, где браузер покажет ошибку.
  • Проверьте, что 443-й порт открыт и слушает нужный процесс.
  • Прогоните цепочку перенаправлений — петля HTTP ↔ HTTPS даёт ошибку, не связанную с сертификатом.
  • Проверьте страницу на смешанный контент, если сайт открывается, но ведёт себя неправильно.
  • Не откатывайте сайт на HTTP при действующем HSTS — вернуть посетителей будет нечем.
  • Поставьте мониторинг срока действия сертификата, чтобы следующий раз не начинался со звонка клиента.

Проверьте ваш сайт прямо сейчас

Проверить SSL своего сайта →
Другие статьи: SSL/TLS
SSL/TLS
SSL Handshake Failed: причины ошибки и пошаговая диагностика
15.04.2026 · 1 444 просм.
SSL/TLS
ERR_CERT_AUTHORITY_INVALID: причины и как исправить
13.07.2026 · 695 просм.
SSL/TLS
Слабые cipher suites: как найти и отключить небезопасные шифры TLS
15.04.2026 · 600 просм.
SSL/TLS
TLS 1.3 vs TLS 1.2: что изменилось и как правильно мигрировать
15.04.2026 · 577 просм.