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

Настроил на сервере (Ubuntu 16.04) HTTP/2 в nginx. Специальный сервис говорит, что он работает нормально, есть поддержка ALPN. В Chrome 51 на Ubuntu в офисе я получаю сайт по HTTP/2 без каких-либо проблем. Однако, когда я открываю этот же самый сайт дома в Chrome 51 на Windows 10, он отдаётся по HTTP/1.1 (на двух разных компьютерах с Win 10, то же самое в Edge). На этом сайте подключены ещё ресурсы с серверов Гугла, в офисе они отдаются по HTTP/2, а дома по quic/1+spdy/3. Мой сервер spdy не поддерживает, а домашние браузеры, очевидно, не поддерживают HTTP/2. Но почему?
Страница информации о HTTP/2-запросах в Хроме показывает абсолютно одинаковую информацию везде:
4cadf3fe1dcb4f598f38fb75b0466ec8.png
HTTPS работает без проблем, никаких незащищённых ресурсов не грузится.
Прочитал подробную статью на эту тему, не нашёл ничего подходящего. Там есть информация про Chrome 51, но, во-первых, мой сервер поддерживает ALPN, а во-вторых, оба Хрома одной версии, но ведут себя по разному.
Как разобраться, в чём дело?

UPD: Дома на Ubuntu 15.10 в Chrome 51 сайт отдаётся по HTTP/2. Очевидно, что проблема в Windows 10.
UPD2: В IE и Edge, ресурсы Гугла грузятся по HTTP/2, в Chrome по SPDY/3, а ресурсы сайта везде по HTTPS.
UPD3: Firefox 47 на домашнем компьютере получает сайт по HTTP/2. Значит, проблема в какой-то хитрой комбинации Windows 10 и Chrome/Edge/IE.
UPD4: https://http2.akamai.com/demo показывает для Chrome, IE и Edge сообщение "This browser is not HTTP/2 enabled.", а в FF "Your browser supports HTTP/2!". Значит, проблема, скорее всего, всё-таки на стороне клиента, а не сервера.
UPD5: Переименовал вопрос в свете последней информации.
UPD6: На https://medium.com/ HTTP/2 работает нормально во всех браузерах.
  • Вопрос задан
  • 2401 просмотр
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Автор вопроса
Помогли на SO: проблема оказалась в том, что антивирус пропускает весь трафик через себя и поддерживает только HTTP/1. Самый простой способ проверить в этом ли дело - посмотреть сертификат, который получает браузер. В моём случае это был сертификат, выпущенный ESET, а не оригинальный сертификат сайта.

Необъяснёнными остались две странности: почему всё работало в FF и почему medium.com работал в Chrome. Напишу обращение в поддержку антивируса, если они ответят что-то вразумительное, добавлю информацию сюда.
Ответ написан
SilenceAndy
@SilenceAndy
&Y1
почему medium.com работал в Chrome

Работал потому, что входил в HSTS preload list, для таких сайтов сертификат не подменяется.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы