Skip to content

ERR_HTTP2_PROTOCOL_ERROR: причины и фиксы

Коротко:

ERR_HTTP2_PROTOCOL_ERROR — Chrome/Firefox получил RST_STREAM frame от HTTP/2 сервера. Причины: превышен max_header_list_size (обычно 8KB), нарушена flow control, баг в HTTP/2 библиотеке сервера. Исправление: увеличить header size limit, обновить nginx/Apache, или временно вернуться на HTTP/1.1.

Эта ошибка блокирует HTTPS-доступ. Ниже: причины, исправление, FAQ.

Причины ошибки

  • Cookie/Authorization header > 8KB (nghttp2 default limit)
  • Apache mod_http2 < 2.4.25 имеет известные баги
  • Server pushes слишком много ресурсов без flow control
  • Prefork MPM в Apache + mod_http2 = incompatibility
  • Custom TLS terminator отправляет broken HTTP/2 frames

Пошаговое исправление

  1. nginx: large_client_header_buffers 4 16k; http2_max_header_size 16k;
  2. Apache: LimitRequestFieldSize 16384 (увеличить с 8192)
  3. Обновите Apache до 2.4.58+ или nginx до 1.25+
  4. Apache: переключите MPM prefork → event (a2dismod mpm_prefork; a2enmod mpm_event)
  5. Временный workaround: listen 443 ssl; без http2

Проверить SSL-сертификат →

Смежные SSL-ошибки

СертификатСрок, издатель, домены (SAN)
ЦепочкаПроверка промежуточных и корневых CA
TLS-протоколВерсия TLS и набор шифров
УязвимостиHeartbleed, POODLE, слабые шифры

Почему нам доверяют

TLS 1.3
поддержка
Полная
цепочка CA
<2с
результат
30/14/7
дней до истечения

Как это работает

1

Введите домен

2

Проверка цепочки TLS

3

Дата истечения и уязвимости

Что проверяет SSL-тест?

SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.

Детали сертификата

Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).

Цепочка доверия

Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.

Анализ TLS

Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).

Оповещения об истечении

Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.

DV vs OV vs EV сертификаты

DV (Domain Validation)
  • Подтверждение только владения доменом
  • Выдаётся за минуты автоматически
  • Бесплатно через Let's Encrypt
  • Подходит для большинства сайтов
  • Самый распространённый тип
OV / EV
  • Проверка организации (OV) или расширенная проверка (EV)
  • Выдаётся за 1-5 рабочих дней
  • Стоимость от $50 до $500/год
  • Для финансов, e-commerce, госсайтов
  • Повышает доверие пользователей

Кому это нужно

DevOps

мониторинг SSL-сертификатов

Безопасность

аудит TLS-конфигурации

SEO

HTTPS как фактор ранжирования

E-commerce

доверие покупателей

Частые ошибки

Истёкший сертификатБраузеры блокируют сайт с истёкшим SSL. Настройте автопродление или мониторинг.
Неполная цепочка сертификатовБез промежуточного CA некоторые браузеры и боты не смогут верифицировать сертификат.
Mixed content на HTTPS-сайтеHTTP-ресурсы на HTTPS-странице — замок в браузере пропадает, снижается доверие.
Использование TLS 1.0/1.1Устаревшие версии TLS содержат известные уязвимости. Используйте TLS 1.2+ или 1.3.
Несовпадение домена в сертификатеСертификат должен покрывать все домены сайта, включая www и поддомены.

Лучшие практики

Настройте автопродлениеLet's Encrypt + certbot с cron — сертификат обновляется автоматически каждые 60-90 дней.
Включите HSTSЗаголовок Strict-Transport-Security заставляет браузер всегда использовать HTTPS.
Используйте TLS 1.3TLS 1.3 быстрее (1-RTT handshake) и безопаснее — убраны устаревшие шифры.
Мониторьте срок действияСоздайте монитор на Enterno.io — получайте уведомления задолго до истечения.
Проверяйте цепочку после обновленияПосле обновления сертификата убедитесь, что промежуточные сертификаты установлены.

Получите больше с бесплатным аккаунтом

Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.

Зарегистрироваться (FREE)

Больше по теме

Часто задаваемые вопросы

Почему именно cookies вызывают?

Cookies накапливаются per-domain. WordPress + WooCommerce + Analytics = 6-10 KB легко. HTTP/2 по умолчанию 8 KB limit.

HTTP/2 push — причина?

Server Push deprecated в Chrome 106+. Если у вас server push включён — отключите, это источник многих HTTP/2 багов.

ERR_HTTP2_PROTOCOL_ERROR только на одной странице?

Значит специфичный header или response. Откройте DevTools → Network → запросите эту страницу → Headers tab.

Как проверить HTTP/2?

<a href="/ssl">Enterno SSL/TLS</a> показывает ALPN = h2. Или <code>curl -I --http2 https://example.com</code>.