Подтвердить что ты не робот

Отключение HTTP/2/SPDY в HTTP.SYS и IIS в Windows 10

При тестировании в Windows 10 мы видели много несовместимости с браузером, которых я раньше не видел с более ранними версиями Windows. Некоторые браузеры будут работать, но другие будут сообщать об ERR_SPDY_PROTOCOL_ERROR. Мой быстрый поиск этой проблемы показал, что я не один.

В моем приложении используются WWSAPI и HTTP.SYS с HTTPS (TLS). Кто-нибудь знает, как отключить SPDY/HTTP/2 в WWSAPI (который использует HTTP.SYS) в Windows 10?

Мне также хотелось бы получить полный обновленный список параметров реестра Windows 10 для HTTP.SYS.

См. ниже мой ответ на этот вопрос. Надеюсь, это тоже поможет другим.

Марк

4b9b3361

Ответ 1

EDIT: отключение HTTP/2 значительно замедлит скорость вашего веб-сайта, это не постоянное решение. Проблема оказалась вызвана тем, что наш webapp отправил неверный заголовок аутентификации на сервер.

Чтобы отключить HTTP/2, см. ниже.

(ОП дал полезный ответ, но в вопросе. Я переместил ответ):

Я работал над своей проблемой HTTP/2, настроив Windows 10 HTTP.SYS в реестре отключить HTTP/2. Учитывая, что я не нашел информацию в любом месте, я думал, что поделюсь своим решением этой проблемы и здесь. я хотелось бы найти способ сделать это через WWSAPI.

Если я отключу поддержку SPDY в клиентском браузере, это сработает, но Я хотел отключить это на стороне сервера (HTTP.SYS в Windows 10) так что он не будет обсуждать HTTP/2, но будет использовать более старое совместимый HTTP (S).

Обнаружено два новых параметра реестра для HTTP.SYS в:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

  • EnableHttp2Tls REG_DWORD 0
  • EnableHttp2Cleartext REG_DWORD 0

Добавление этих значений и установка как 0 в Windows 10 привели к HTTP/2/SPDY не согласовывается, и мой ERR_SPDY_PROTOCOL_ERROR проблемы исчезли, не требуя изменений конфигурации браузера. Я не предлагаю, чтобы что-то не так с Windows 10 HTTP/2, проблемы могут быть с некоторыми браузерами.

Это может работать и для IIS, но я не использую это, поэтому я не пробовал и в любом случае в IIS может быть лучший способ сделать это.

Надеюсь, что это тоже поможет другим.

Я также могу подтвердить это для IIS, но мне пришлось перезагрузить компьютер.