Почему HTTP / 2 на определенном сайте работает в FF, но не работает в Chrome, IE и Edge на одном компьютере с Windows 10?

У меня есть сайт, который работает на Nginx 1.10.0 на сервере Ubuntu 16.04 (OpenSSL 1.0.2h). Я хочу обслуживать этот сайт через HTTP / 2, поэтому я настроил Nginx соответствующим образом:

listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server

И он отлично работает в FF 47 и Chrome 51 на моем рабочем столе Ubuntu 15.10 в офисе и в тех же браузерах на моем домашнем рабочем столе Ubuntu 15.10.

Однако на моем домашнем компьютере Windows 10 и ноутбук HTTP / 2 работают только в FF. Chrome 51, IE 11 и Edge используют HTTP / 1.1 на этом сайте.

Итак, я сбит с толку.Этот сервис говорит, что мой сайт поддерживает HTTP / 2 и ALPN (что требуется для работы HTTP / 2 в Chromeс версии 51).

Версии и возможности Chrome точно такие же:

HTTPS работает, а панель безопасности в Chrome Dev Tools показывает, что все защищено.

Это демо в Chrome IE и Edge выводит сообщение "Этот браузер не поддерживает HTTP / 2.", а также "Ваш браузер поддерживает HTTP / 2!"в FF. Но HTTP / 2 наmedium.com прекрасно работает во всех этих браузерах.

Итак, мой вопрос: что происходит и как это исправить?

 josef.van.niekerk15 июл. 2016 г., 15:47
Имея те же проблемы, Chrome работал над H2 пару недель назад, возможно, какая-то сборка / обновление его сломала?
 Alexey Ukolov15 июл. 2016 г., 17:44
@ josef.van.niekerk, но почему medium.com работает в Chrome, Edge и IE, а мой сайт - нет? Но работает в FF и Chrome на Ubuntu ... Меня это озадачивает - некоторое сочетание проблем с сервером, браузером и ОС.

Ответы на вопрос(1)

Решение Вопроса

Avast) и проверяет ли оно ваш HTTPS-трафик?

Он делает это, действуя как MITM, поэтому вы подключаете его, и он подключается к реальному веб-сайту. И если они поддерживают только http / 1 (что, насколько я знаю, они только поддерживают), то это объясняет это. Хотя, как ни странно, не для среднего, если у вас нет исключения для этого.

Должно быть достаточно легко проверить, посмотрев сертификат HTTPS при посещении сайта, чтобы увидеть, был ли он «выдан» вашим локальным сервером Avast.

Если нет, то предложите вам посмотреть на свои шифры, так как HTTP / 2 требователен к тому, какие из них он использует. Что-нибудь странное, показывающее наhttps://www.ssllabs.com/servertest для вашего сайта? Какой шифр он использует для Chrome?

 Barry Pollard16 июл. 2016 г., 22:33
Np. Это привлекает внимание нескольких людей, и здесь есть несколько вопросов о том, с чем я бы связался, но «Медиум» бросил меня (и до сих пор делает!), Поэтому я не был на 100% убежден, что это так.
 nacholibre21 мар. 2018 г., 12:11
Я подтверждаю, что эта проблема произошла со мной тоже с NOD32. Я удалил его, и теперь http2 включен. Спасибо за помощь.
 Alexey Ukolov16 июл. 2016 г., 21:45
Да, это действительно мой антивирус NOD32, связанный с моим трафиком: Chrome показывает сертификат ESET для моего сайта, но оригинал для medium.com. У меня нет настроенных исключений, все настройки по умолчанию, так как я никогда не думал об этой функции. Я свяжусь с моей антивирусной поддержкой, чтобы уточнить это поведение. Спасибо за ваш ответ, это было очень полезно.

Ваш ответ на вопрос