Это не ваш сайт? Если чужой сайт не открывается только у вас — попробуйте другой браузер, мобильный интернет и отключите VPN. Дальше на странице — разбор для владельца сайта.
Шаг 1. Определите, у кого ошибка
Откройте адрес с телефона через мобильный интернет и в другом браузере.
- Открывается. Проблема на вашем устройстве или в сети. Переходите к шагу 2.
- Не открывается нигде. Проблема на сервере сайта. Если это не ваш сайт, подождите или напишите владельцу. Если ваш, переходите к шагу 3.
Шаг 2. Проверьте устройство и сеть
- Откройте адрес в режиме инкогнито: так отключаются расширения.
- Выключите VPN и прокси.
- Антивирус с проверкой HTTPS подменяет сертификаты. Временно отключите эту функцию и повторите.
- Проверьте дату и время на устройстве. Сильно сбитые часы ломают проверку сертификатов.
- Попробуйте другую сеть: мобильный интернет вместо домашнего Wi-Fi.
Если после этого сайт открылся, причина найдена в том, что вы отключили. Если нет, проверяйте сервер.
Не хотите разбираться сами? Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно.
Отправить задачуШаг 3. Посмотрите, что отвечает порт 443
Команда покажет, что происходит при попытке защищённого соединения:
openssl s_client -connect example.ru:443 -servername example.ru </dev/null- Вывод с блоком
Certificate chainи строкойVerify return codeзначит, что соединение началось. Тогда смотрите код проверки сертификата: срок, цепочка, имя (разбор про истёкший SSL). - Ошибка вида
wrong version numberилиunknown protocolзначит, что порт отвечает, но не шифрованным протоколом. Это типичный признак того, что сервер принимает на 443 обычный HTTP. Читайте шаг 4. Connection refusedили тайм-аут значит, что на 443 никто не слушает или порт закрыт сетевым экраном. Это другая ошибка, но лечится она тоже в настройках сервера.
Сводку по сроку и причине ошибки сертификата даёт и проверка сайта.
Шаг 4. Основные причины на сервере
В настройках сервера нет параметра ssl
В nginx защищённый сервер включается параметром ssl в директиве listen (документация nginx). Без него nginx принимает на порту 443 обычные запросы, и браузер получает ответ не того протокола:
server {
listen 443 ssl;
server_name example.ru www.example.ru;
ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
}Если у сайта есть строка listen [::]:443; для IPv6, ssl нужен и там. Проверьте конфигурацию командой nginx -t, затем перезагрузите службу: systemctl reload nginx.
Домен попадает на чужой блок сервера
Если на одном IP-адресе несколько HTTPS-сайтов, nginx выбирает блок по имени из запроса. Если имени вашего домена нет ни в одном server_name, ответит блок по умолчанию (default_server), и браузер получит его сертификат (документация nginx). Обычно это заканчивается другой ошибкой, несовпадением имени в сертификате, но проверить server_name и default_server нужно. Для запросов без подходящего имени документация предлагает ssl_reject_handshake on: так соединение обрывается намеренно.
Не совпали версия протокола или шифры
Если Chrome пишет ERR_, у сервера и браузера нет общей версии протокола или набора шифров. В примере из документации nginx разрешены TLSv1.2 и TLSv1.3: проверьте директиву ssl_protocols.
Шаг 5. Проверка после правок
nginx -tвыводитsyntax is okиtest is successful. Если сертификат и ключ не составляют пару, nginx сообщитkey values mismatchи не применит конфигурацию: файл вssl_certificateдолжен быть сертификатом, а вssl_certificate_keyего закрытым ключом.openssl s_clientпоказывает цепочку сертификатов.- Сайт открывается с телефона через мобильную сеть, без предупреждений.
- Редирект с
http://наhttps://ведёт на тот же адрес, а не на порт без шифрования.
Когда нужен специалист
- Нет доступа к серверу или конфигурации, сайт на виртуальном хостинге.
- Ошибка не исчезла после проверки
ssl,server_nameи протоколов. - С сервера и из других сетей сайт открывается, а у посетителей отдельного провайдера нет: причина в сети, не в сайте, и нужно обращаться к провайдеру.
- Сайт стоит за CDN или балансировщиком, и неясно, где обрывается соединение.
- Сертификат выпущен, но продлевается вручную, и срок скоро закончится.
Сколько стоит решение у нас
| Задача | Время | Стоимость |
|---|---|---|
| Диагностика и восстановление | около 2 ч | 7 600 ₽ |
| Настройка защиты | 1–2 ч | 3 800–7 600 ₽ |
| Настройка сервера или VPS | 2–4 ч | от 7 600 ₽ |
Диапазоны ориентировочные, ставка 3 800 ₽ в час. Точную оценку присылаем до начала работ. Все цены.
Опишите проблему в форме. Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно для новых клиентов.
Отправить задачуЧастые вопросы
Чем ERR_SSL_PROTOCOL_ERROR отличается от истёкшего сертификата?
При истёкшем сертификате браузер сообщает NET::ERR_
Почему ошибка только на одном компьютере?
Чаще всего причина в расширении, антивирусе с проверкой HTTPS, VPN или неверной дате. Шаг 2 проверяет всё это за несколько минут.
Можно ли просто убрать HTTPS?
Браузеры пометят сайт как небезопасный, а данные из форм и кабинета пойдут открытым текстом. Исправлять нужно настройку, а не отказываться от шифрования.