426
Средняя важность — нужна диагностика

Ошибка 426 — HTTP-статусы

Что это значит

Код 426 Upgrade Required — это HTTP-статус, который сервер отправляет клиенту, когда текущий протокол запроса не поддерживается, и сервер требует переключения на другой протокол для успешной обработки запроса. В момент отправки ответа сервер также должен включить заголовок Upgrade с перечнем поддерживаемых протоколов. Пользователь обычно видит сообщение об ошибке в браузере, например, «426 Upgrade Required», и запрос не выполняется. Технически это означает, что клиент должен инициировать обновление протокола (например, с HTTP/1.1 на HTTP/2 или WebSocket) и повторить запрос.

Вероятные причины

  • Сервер настроен на приём запросов только по более новому протоколу (например, HTTP/2 или WebSocket).
  • Клиент использует устаревшую версию HTTP (например, HTTP/1.0), а сервер требует HTTP/1.1 или выше.
  • Прокси-сервер или балансировщик нагрузки блокирует запросы по старому протоколу.
  • Веб-приложение требует установки WebSocket-соединения, а клиент пытается использовать обычный HTTP.
  • Некорректная конфигурация сервера, принудительно требующая обновление протокола без реальной необходимости.
  • Устаревшее или неправильно настроенное клиентское программное обеспечение (например, библиотека HTTP-клиента).
  • Брандмауэр или антивирус перехватывает трафик и модифицирует заголовки, нарушая согласование протокола.
  • Сервер ожидает TLS-соединение (HTTPS), а клиент отправляет запрос по HTTP.

Что делать — по порядку

  1. Проверьте, поддерживает ли клиент требуемый протокол (например, HTTP/2, WebSocket).
  2. Обновите клиентское программное обеспечение (браузер, библиотеку HTTP-клиента) до последней версии.
  3. Убедитесь, что запрос отправляется по правильному URL (https вместо http, если требуется).
  4. Проверьте настройки прокси-сервера или балансировщика — они не должны блокировать заголовок Upgrade.
  5. Временно отключите брандмауэр или антивирус для проверки, не они ли вмешиваются в трафик.
  6. Если вы администратор сервера, проверьте конфигурацию веб-сервера (например, в Apache или Nginx) на предмет принудительного требования обновления протокола.
  7. Используйте инструменты разработчика браузера (вкладка Network) для анализа заголовков запроса и ответа.
  8. Обратитесь к документации серверного приложения для уточнения поддерживаемых протоколов.

Нажимайте на пункты, чтобы отмечать выполненные.

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

Что означает ошибка 426 в браузере?

Сервер требует переключения на другой протокол (например, HTTP/2 или WebSocket). Обновите браузер или используйте другой клиент.

Как исправить ошибку 426 в Postman?

Убедитесь, что в настройках Postman включена поддержка HTTP/2 и WebSocket. Попробуйте отключить опцию 'Automatically follow redirects' и вручную обработать заголовок Upgrade.

Может ли ошибка 426 быть вызвана антивирусом?

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

Ошибка 426 при подключении к WebSocket — что делать?

Убедитесь, что клиент отправляет корректный запрос на обновление до WebSocket (заголовки Upgrade: websocket, Connection: Upgrade). Сервер должен поддерживать WebSocket.

Как настроить сервер, чтобы не выдавать 426?

Проверьте конфигурацию веб-сервера: отключите принудительное требование обновления протокола, если оно не нужно. Например, в Nginx уберите директиву 'http2' из listen, если клиенты не поддерживают HTTP/2.

Источники